《Java程序设计》电子课件.ppt

上传人:少林足球 文档编号:4261385 上传时间:2019-10-31 格式:PPT 页数:124 大小:2.27MB
返回 下载 相关 举报
《Java程序设计》电子课件.ppt_第1页
第1页 / 共124页
《Java程序设计》电子课件.ppt_第2页
第2页 / 共124页
《Java程序设计》电子课件.ppt_第3页
第3页 / 共124页
《Java程序设计》电子课件.ppt_第4页
第4页 / 共124页
《Java程序设计》电子课件.ppt_第5页
第5页 / 共124页
点击查看更多>>
资源描述

《《Java程序设计》电子课件.ppt》由会员分享,可在线阅读,更多相关《《Java程序设计》电子课件.ppt(124页珍藏版)》请在三一文库上搜索。

1、Java程序设计电子课件,宋波,李晋,李妙妍,张悦,2019/10/31,宋波,李晋,李妙妍,张悦,第1篇 核心基础篇,第 3 章 Java面向对象特性,2019/10/31,宋波,李晋,李妙妍,张悦,本章内容,3.1 类与对象 3.2 隐藏和封装 3.3 类的继承与多态 3.4 数组,2019/10/31,宋波,李晋,李妙妍,张悦,学习目标,掌握对象与类的基本概念 了解对象的生命周期 熟练掌握类的定义及实例化 理解隐藏与封装 熟练掌握类的继承与多态 掌握数组的应用,2019/10/31,宋波,李晋,李妙妍,张悦,本章概要,Java中类和对象的定义; Java对OOP三个主要特性封装、继承和多

2、态的支持机制; Java中的对象数组这种数据结构。,2019/10/31,宋波,李晋,李妙妍,张悦,3.1 类与对象,类与对象的定义 成员变量与局部变量 成员方法 对象的创建 对象的使用 对象的消除 方法重载 this 构造方法,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.1 类和对象的定义,Java程序是由一个或若干个类组成,类是Java程序的基本组成单位,包括: 成员变量:描述对象的属性 成员方法:描述对象的行为,2019/10/31,宋波,李晋,李妙妍,张悦,类定义的结构,2019/10/31,宋波,李晋,李妙妍,张悦,1. 类的声明格式,public abstract |

3、final class extends superClassName implements interfaceNameList,类的访问权限及其属性,类定义关键字,类名,继承某个父类的关键字,实现接口的关键字,2019/10/31,宋波,李晋,李妙妍,张悦,2. 类体,构造和初始化新对象的构造方法; 表示类及其对象状态的变量; 实现类及其对象的方法; 进行对象清除的finalize()方法。,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.2 成员变量与局部变量,成员变量(类): 在类体中声明的变量,且不属于任何一个方法时。 局部变量: 在方法体中声明的变量以及方法的参数则统称为方法的

4、局部变量。,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-1】成员变量示例,public class Apple public String color; / 公共变量color public static int num; / 静态变量num public final boolean MATURE=true; / 常量MATURE并赋值 public static void main(String args) System.out.println(“苹果数量:“+Apple.num); Apple apple=new Apple(); System.out.println(“苹果颜

5、色:“+apple.color); System.out.println(“苹果是否成熟:“+apple.MATURE); ,num是类变量(即静态变量),可通过类名直接访问,2019/10/31,宋波,李晋,李妙妍,张悦,2. 局部变量,final ;,指定局部变量为常量,局部变量的参数类型,局部变量的名称,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-2】局部变量的使用,public class Apple String color=“Red“; float price; public String getColor() return color; public float co

6、unt() int num; if(num0) return 0; else return price*num; ,成员变量,错误语句,因为局部变量num还没有被赋值就使用,2019/10/31,宋波,李晋,李妙妍,张悦,public static void main(String args) Apple apple=new Apple(); System.out.println(“苹果总价钱:“+apple.count(); ,2019/10/31,宋波,李晋,李妙妍,张悦,概念: 指该变量在程序代码中的作用区域,在该区域外不能直接访问变量。 生命周期: 指从声明一个变量并分配内存空间、使用

7、变量开始,然后释放该变量并清除所占用内存空间的一个过程。,3. 变量的有效范围,2019/10/31,宋波,李晋,李妙妍,张悦,变量的种类: 成员变量类体中声明的成员变量在整个类中有效。 局部变量在方法内或方法内的复合代码块(方法内部,“”与“”之间的代码)声明的变量。,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-3】变量的有效范围,public class Olympics1 private int medal_All=800; public void China() int medal_CN=100; if(medal_CN1000) int gold=50; medal_CN

8、+=30; medal_All-=130; ,成员变量,代码块外、方法体内的局部变量,代码块的局部变量,允许访问本方法的局部变量,允许访问本类的成员变量,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.3 成员方法,返回值类型,方法名称, /方法开始标记, /方法结束标记,方法主体,(参数1,参数2, 参数n),2019/10/31,宋波,李晋,李妙妍,张悦,注意:,方法体中定义的局部变量的作用域只在方法内部; 如果局部变量的名字和类的成员变量名字相同,则类的成员变量被屏蔽; 如果要在方法中使类的成员变量有效,则可以使用this关键字。,2019/10/31,宋波,李晋,李妙妍,张悦,

9、public class Olympics2 private int gold=0; private int silver=0; private int copper=0; public void changeModel(int a,int b,int c) gold=a; / 给类的成员变量赋值 int silver= b; / 使同名类成员变量silver隐藏 int copper= 50; / 使同名类成员变量copper隐藏 System.out.println(“In changModel:”+“金牌 =”+gold+“ 银牌=”+silver+“ 铜牌“+copper); this

10、.copper=c; / 给类成员变量z赋值 ,2019/10/31,宋波,李晋,李妙妍,张悦,String getModel( ) return “金牌 = ”+gold+“ 银牌 =”+silver+“ 铜牌=“+copper; ,2019/10/31,宋波,李晋,李妙妍,张悦,public static void main( String args ) Olympics2 o2=new Olympics2( ); System.out.println(“Before changModel:“+o2.getModel(); o2.changeModel(100,100,100); Syst

11、em.out.println(“After changeModel:“+o2.getModel(); ,Befor changModel: 金牌=0 银牌=0 铜牌=0,gold=100 silver=100 copper=50,In changModel: 金牌=100 银牌=100 铜牌=50,After changModel: 金牌=100 银牌=0 铜牌=100,如果在方法中对成员变量的值进行了修改,则这种修改将是永久的。,gold=0 silver=0 copper=0,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.4 对象的创建,一个对象的生命周期包括三个阶段: 对象的创

12、建 对象的使用 对象的消除,2019/10/31,宋波,李晋,李妙妍,张悦,创建对象,创建对象,声明,实例化,初始化,类,对象名称, new,构造方法(参数),public class Point int x=1; int y=1; public Point(int x,int y) this.x=x; this.y=y; ,/实例化Point类,创建对象pt Point pt = new Point(2,3);,2019/10/31,宋波,李晋,李妙妍,张悦,Point pt = new Point(2,3);,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.5 对象的使用,引用对象

13、的变量 objectReference.variableName; 调用对象的方法 objectReference.methodName(argumentList),2019/10/31,宋波,李晋,李妙妍,张悦,【例3-6】对象使用的示例,public class Point int x=1; int y=1; public void setXY(int x,int y) public int getXY() public static void main(String args) Point pt=new Point(); pt.x=2; System.out.println(“x与y的乘

14、积为:“+pt.getXY(); pt.setXY(3,2); System.out.println(“x与y的乘积为:“+pt.getXY(); ,成员变量,成员方法,声明并创建Point类的对象pt,访问对象pt的成员变量x,调用成员方法,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.6 对象的消除,在C+中,程序员要显式地删除不用的对象,即手动释放对象占用的存储空间。 Java提供了垃圾回收(garbage collection)机制:自动判断对象是否还在使用,并自动销毁不再使用的对象,回收对象所占用的资源。,2019/10/31,宋波,李晋,李妙妍,张悦,Java垃圾回收器执

15、行机制的生命周期,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.7 方法的重载,在同一个类中定义了多个同名而内容不同的成员方法。 classScreen public void print( int i) public void print( float i) public void print( int i, String str ) ,2019/10/31,宋波,李晋,李妙妍,张悦,方法重载,原则: 参数表必须不同: 方法参数的个数不同 参数类型不同 返回类型、修饰符 返回类型,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-7】方法重载的示例,public class

16、Calculate final float PI=3.14159f; public float getArea(float r) return PI*r*r; public float getArea(float l,float w) return l*w; public void draw(int num) System.out.println(“画“+num+“个任意形状的图形“); public void draw(String shape) System.out.println(“画一个“+shape); ,方法重载,方法重载,2019/10/31,宋波,李晋,李妙妍,张悦,publi

17、c static void main(String args) Calculate c=new Calculate(); /创建Calculate类的对象 float l=20; float w=40; System.out.println(“求长为“+l+“宽为“+w+“的矩形面积是:“+c.getArea(l,w); float r=6; System.out.println(“求半径为“+r+“的圆形面积是:“+c.getArea(r); int num=8; c.draw(num); c.draw(“矩形”); ,通过传递的参数判断调用哪个方法,通过传递的参数判断调用哪个方法,2019

18、/10/31,宋波,李晋,李妙妍,张悦,3.1.8 关键词this,用来指向对象自身 用来访问当前对象的数据成员; 用来访问当前对象的成员方法; 重载构造方法时,用来引用同类的其他构造方法。,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-8】this关键字的使用,public class Fruit String color=“绿色“; double price; int num; public double count(double price, int num) this.price=price; this.num=num; return price*num; ,成员变量,将参数

19、值赋值给成员变量,即指向对象自身。,2019/10/31,宋波,李晋,李妙妍,张悦,3.1.9 类的构造方法,功能:初始化类的成员变量 特点: 名称必须与类名相同 不能有返回值 必须用new自动调用,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-9】在类Apple中定义两个构造方法,public class Apple private int num; private double price; public Apple() num=10; price=2.34; public Apple(int num,double price) this.num=num; this.price=

20、price; public static void main(String args) Apple a1=new Apple(); Apple a2=new Apple(50,3.15) ,参数化构造方法,2019/10/31,宋波,李晋,李妙妍,张悦,2. 缺省构造方法,如果在类定义中无构造函数,在编译时可缺省加入构造方法。如: public Apple( ) ; 一旦在类中有一个自己声明的构造函数,则缺省的构造函数将不被加到源程序中。,2019/10/31,宋波,李晋,李妙妍,张悦,3. 构造方法的重载,功能: 使类对象具有不同的初始值,为对象的初始化提供方便。 可以使用this调用重载的

21、构造方法。,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-10】对类Apple的构造方法进行重载 class Apple private String color; private int num; public Apple(String c, int n) color = c ; num = n; public Apple( String c) this(c,0); ,调用两个参数的构造方法,2019/10/31,宋波,李晋,李妙妍,张悦,class Apple private String color; private int num; public Apple( String

22、c) this(c,0); public Apple( ) this(“Unknown“); ,调用一个参数的构造方法,2019/10/31,宋波,李晋,李妙妍,张悦,class Apple private String color; private int num; public String getColor() return color; public int getNum() return num; ,2019/10/31,宋波,李晋,李妙妍,张悦,public class AppleDemo public static void main(String args) Apple app

23、lee = new Apple(); System.out.println(“苹果颜色: ”+e.getColor(); System.out.println(“苹果数量: ”+e.getNum(); ,调用无参数:this(“Unknown”); 1个参数:this(c,0);2个参数的构造方法,2019/10/31,宋波,李晋,李妙妍,张悦,3.2 隐藏与封装,封装 访问控制 package和import,2019/10/31,宋波,李晋,李妙妍,张悦,3.2.1 封装,封装,是指将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来。 在类的定义中设置访问对象属性及方

24、法的权限,来限制该类对象及其他类的对象的使用范围。 提供一个接口来描述其他对象的使用方法。,2019/10/31,宋波,李晋,李妙妍,张悦,3.2.2 访问控制,私有的以private修饰符指定; 保护的以protected修饰符指定; 公开的以public修饰符指定; 默认的,也称为default或package不使用任何修饰符指定。,2019/10/31,宋波,李晋,李妙妍,张悦,表3-1:4种访问权限及其含义,可否直接访问 同一个 同一个 不同包中的 任何 控制等级 类中 包中 子类中 场合,private Yes,default Yes Yes,protected Yes Yes Ye

25、s,public Yes Yes Yes Yes,2019/10/31,宋波,李晋,李妙妍,张悦,1. private修饰符,其成员只能在所在类的内部使用,在其他的类中则不允许直接访问。 同一个类的不同对象之间可以访问对方的private成员变量和方法; 访问控制是在类的级别上,而不是在对象的级别上。,2019/10/31,宋波,李晋,李妙妍,张悦,2019/10/31,宋波,李晋,李妙妍,张悦,class Parent private int privateVar; public Parent( int p) privateVar=p; boolean isEqualTo(Parent an

26、otherParent) if (this. privateVar=anotherParent.privateVar) return true; else return false; ,当前对象实例的成员变量与方法的参数传递的另一个对象实例的成员变量是否相等?,2019/10/31,宋波,李晋,李妙妍,张悦,public class PrivateDemo public static void main(String args ) Parent p1=new Parent(20); Parent p2=new Parent(40); System.out.println(p1.isEqualT

27、o(p2); ,2019/10/31,宋波,李晋,李妙妍,张悦,2. default,如果一个类没有显式地设置成员的访问控制级别,则说明它使用的是默认的访问权限,称为default或package。 允许被这个类本身,或者相同包中的其它类访问其default成员。 构造方法设置为default权限时,则除这个类本身和同一个包中的类以外,其他类均不能生成该类的对象实例。,2019/10/31,宋波,李晋,李妙妍,张悦,2019/10/31,宋波,李晋,李妙妍,张悦,3. protected修饰符,允许类本身、它的子类、以及同一个包中其余的类访问这些成员。,2019/10/31,宋波,李晋,李妙妍

28、,张悦,package p1; class Parent protected int protectedVar; protected void protectedMethod( ) System.out.println(“I am protectedMethod“); ,2019/10/31,宋波,李晋,李妙妍,张悦,package p1; class Person void accessMethod() Person p = new Person(); p.protectedVar = 100; p.protectedMethod(); ,由于Person类与Parent在同一个包中 所以,

29、可以创建它的对象,并实现访问。,2019/10/31,宋波,李晋,李妙妍,张悦,package p2; import p1.*; class Child extends Parent void accessMethod(Parent p, Child c) p.iamprotected = 10; c.iamprotected = 10; / 子类 p.protectedMethod(); c.protectedMethod(); / 子类 ,X,由于Child与父类Parent不在同一个包中,只能通过子类Child的对象来实现访问,X,2019/10/31,宋波,李晋,李妙妍,张悦,4. p

30、ublic修饰符,带有public的成员可以被所有的类访问。 一个成员只有在被外部对象使用后不会产生不良后果时,才被声明为public。,2019/10/31,宋波,李晋,李妙妍,张悦,3.2.3 package和import,程序员可以将一组相关的类与接口包裹在一起形成一个包(package)。 易于确定包中的类是相关的,根据功能可找到相应的类。 防止类命名混乱。 控制包中的类、接口、成员变量和方法的可见性。,2019/10/31,宋波,李晋,李妙妍,张悦,1. package语句,指定程序中的类属于一个哪个包: package pkg1.pkg2.pkg3; 包定义语句在每个源程序中只能有

31、一条,即一个类只能属于一个包; 包定义语句必须在程序的第一行(之前可有空格及注释); 包名用“.” 分隔。,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-13】利用package关键词,将类Circle打包到 com下的graphics包中。 package com.graphics; public class Circle final float PI=3.14159f; / 定义一个常量PI public static void main(String args) System.out.println(“画一个圆形!“); ,2019/10/31,宋波,李晋,李妙妍,张悦,com

32、,graphics,package com.graphics;,该Java程序所定义的类保存的路径为: C: mypkgcomgraphics,classpath=.;c:mypkg,包分隔符相当于目录分隔符,包存储的路径由包根路径加上包名指明的路径组成; 包的根路径由CLASSPATH环境变量指出。,2019/10/31,宋波,李晋,李妙妍,张悦,编译和生成包,编译之后拷贝 javac Circle.javaCircle.class 将Circle.class复制graphics子目录下 简化的编译命令 javac -d C:mypkg Circle.java,1、生成C:mypkgcomg

33、raphics; 2、将Circle.class保存到该子目录下。,2019/10/31,宋波,李晋,李妙妍,张悦,2019/10/31,宋波,李晋,李妙妍,张悦,2. import语句,功能: import语句告诉编译器要使用的Java类所在的位置; 注意,包名也是类名的一部分。,2019/10/31,宋波,李晋,李妙妍,张悦,将package 引入源程序,格式: import 包名.*; import 包名. 类名; import 语句必须在源程序之前,在package 声明之后,Java程序的结构: package / package .; import . / import java.

34、lang.*; 类声明,2019/10/31,宋波,李晋,李妙妍,张悦,3.3 类的继承与多态,类的继承 方法的重写 运行时多态 对象类型的强制转换 Object类,2019/10/31,宋波,李晋,李妙妍,张悦,3.3.1 类的继承,2019/10/31,宋波,李晋,李妙妍,张悦,继承其他类的类叫子类,被继承的类叫做超类(父类)。,继承的特点,层次结构,子类继承 父类的属性和方法,2019/10/31,宋波,李晋,李妙妍,张悦,例3-15:,2019/10/31,宋波,李晋,李妙妍,张悦,实现步骤:,步骤:编写父类,步骤:编写子类,使用关键字extends继承父类,2019/10/31,宋波

35、,李晋,李妙妍,张悦,【执行结果】 动物需要吃食物 鸟会飞翔 鸟有:羽毛,2019/10/31,宋波,李晋,李妙妍,张悦,2. 单继承,Java是单继承的,即只能从一个类继承,extends后类名只能有一个。 单继承的优点: 代码更可靠; 可以用接口弥补,用一个类实现多个接口,达到多继承效果。,2019/10/31,宋波,李晋,李妙妍,张悦,3. super关键字,super可用于访问父类中定义的属性和成员方法; super可用于在子类构造方法中调用父类的构造方法; super的追溯不仅限于直接父类。,2019/10/31,宋波,李晋,李妙妍,张悦,【例3-16】使用super调用父类构造方法

36、,class Animal boolean live=true; String skin=“ “; public Animal(boolean l,String s) live=l; skin=s; ,2019/10/31,宋波,李晋,李妙妍,张悦,class Bird extends Animal public Bird(boolean l,String s) super(l,s); public class Zoo public static void main(String args) Bird bird=new Bird(true,“羽毛“); System.out.println(“

37、鸟有:“+bird.skin); ,通过super调用父类的构造方法,2019/10/31,宋波,李晋,李妙妍,张悦,注意:,子类构造方法体的第一句通常要调用父类的一个构造方法。 此时,如果不使用super指定,则将调用默认的父类构造方法(即不带参数的构造方法)。 如果在父类中没有无参构造方法,则将产生编译错误。,2019/10/31,宋波,李晋,李妙妍,张悦,子类中父类成员的隐藏,子类隐藏父类的成员 当子类的成员变量与父类的成员变量同名时; 当子类的成员方法与父类的成员方法具有相同的名字、参数列表、返回值类型;,2019/10/31,宋波,李晋,李妙妍,张悦,“隐藏”的含义,通过子类对象调用

38、子类中与父类同名的变量和方法时,有效的(操作)是子类中定义的变量和方法。 如果要在子类中访问父类中被隐藏的成员变量或方法,要使用关键词super。,2019/10/31,宋波,李晋,李妙妍,张悦,3.3.2 方法的重写,在子类中对从父类继承的方法进行改造,称为方法的重写。 子类中重写方法必须和父类中被重写方法具有相同的方法名、参数列表和返回值类型 子类中重写方法的访问权限不能缩小 子类中重写得方法不能抛出新的异常,2019/10/31,宋波,李晋,李妙妍,张悦,重 写,【例3-18】重写的示例,2019/10/31,宋波,李晋,李妙妍,张悦,public class Zoo public st

39、atic void main(String args) Dog dog=new Dog(); System.out.println(“执行dog.cry()语句时的执行结果是:“); dog.cry(); Cat cat=new Cat(); System.out.println(“执行cat.cry()语句时的 执行结果是:“); cat.cry(); ,【执行结果】 执行dog.cry(); 语句时地执行结果是: 狗发出汪汪声! 执行cat.cry(); 语句时地执行结果是: 猫发出喵喵声!,2019/10/31,宋波,李晋,李妙妍,张悦,3.3.3 运行时多态,多态性(Polymorph

40、ism)指在一个程序中相同名字的成员变量和方法可以表示不同的实现。 方法重载:静态多态性,或称编译时多态; 方法重写(覆盖):动态多态性; 变量覆盖:子类可以隐藏与父类中的同名成员变量。,2019/10/31,宋波,李晋,李妙妍,张悦,1. 上溯造型,通过引用子类的实例来调用父类的方法,从而将一种类型(子类)对象的引用转换成另一种类型(父类)对象的引用。,Animal a1=new Parrot(); Animal a2=new Dog(); Animal a3=new Cat();,2019/10/31,宋波,李晋,李妙妍,张悦,2. 运行时多态,通过一个父类变量发出的方法调用: 该方法在父

41、类中的实现 该方法在某个子类中的实现,只能在运行时,根据该变量指向的对象类型确定,2019/10/31,宋波,李晋,李妙妍,张悦,2019/10/31,宋波,李晋,李妙妍,张悦,3.3.4 对象类型的强制转换,下溯造型 将父类类型的引用转换为子类类型,称为下溯造型; 下溯造型不一定是安全的,需要进行类型检查。,2019/10/31,宋波,李晋,李妙妍,张悦,1. instanceof运算符, instanceof ,boolean表达式,2019/10/31,宋波,李晋,李妙妍,张悦,class Cat extends Animal class Dog extends Animal publi

42、c class TestInstanceof public void doSomething( Animal a) if (a instanceof Cat) System.out.println(“This is a Cat“); ,使用instanceof方法测试接收 的对象是否是Cat类或其子类,2019/10/31,宋波,李晋,李妙妍,张悦,2. 强制类型转换,(SomeClass) aObjectVariable 父类弱、子类强,指向父类的引用不能直接按子类引用,必须要强制类型转换后才能作为子类的引用使用。 强制转换之前,一般先用instanceof对对象的类型进行测试。,2019/

43、10/31,宋波,李晋,李妙妍,张悦,class Animal String skin; class Bird extends Animal String skin=“羽毛“; public String getSkin() return skin; public class Casting public void someMethod(Animal a) System.out.println(a.getSkin(); if(a instanceof Bird) Bird b=(Bird)a; System.out.println(b.getSkin(); ,2019/10/31,宋波,李晋,

44、李妙妍,张悦,3.3.5 Object类,Object定义了所有对象都需要的状态和行为。例如: 对象之间的比较 将对象转换为字符串 等待某个条件变量 当某条件变量改变时通知相关对象 返回对象的类,2019/10/31,宋波,李晋,李妙妍,张悦,1. equals方法,equals方法 用于判别某个指定对象与当前对象(调用equals方法的对象)是否等价; “数据等价”:两个数据的值相等 引用类型数据比较的是引用 基本数据类型比较值,2019/10/31,宋波,李晋,李妙妍,张悦,equals与“=”运算符,equals( )方法只能比较引用类型; “=”可以比较引用和基本类型; equals(

45、 )方法对File、String、Date及封装类(Wrapper Class),是比较类型内容,而不考虑引用的是否是同一个实例;,2019/10/31,宋波,李晋,李妙妍,张悦,public class TestEquals public static void main(String args) String s1 = new String (“Hello“); String s2 = new String (“Hello“); if ( s1 = s2 ) System.out.println(“s1=s2“); else System.out.println(“s1!=s2“); /

46、输出: s1!=s2,2019/10/31,宋波,李晋,李妙妍,张悦,if ( s1.equals(s2) ) System.out.println(“s1 is equal to s2“); else System.out.println(“s1 is not equal to s2“); / 输出: s1 is equal to s2 s2 = s1; if ( s1 = s2 ) System.out.println(“s1=s2“); else System.out.println(“s1!=s2“); / 输出: s1=s2 ,2019/10/31,宋波,李晋,李妙妍,张悦,2. t

47、oString方法,Object类中实现的toString( )方法是返回当前对象的类型和内存地址信息。 但在一些子类(如String、Date等)中进行了重写。在用户自定义类中通常都将该方法重写,以返回更适用的信息。,2019/10/31,宋波,李晋,李妙妍,张悦,3.4 数组,一维数组 多维数组 数组的复制,2019/10/31,宋波,李晋,李妙妍,张悦,Java中数组的分类,2019/10/31,宋波,李晋,李妙妍,张悦,3.4.1 一维数组,定义: type arrayName 或 type arrayName 类型(type)可以为Java中任意的数据类型,包括简单类型和复合类 如:int intArray ; Date dateArray;,2019/10/31,宋波,李晋,李妙妍,张悦,注意:,在声明数组时不能指定其长度: int a5; / 不合法 原因: 声明数组,只是在

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1