第二章Java的类.ppt_第1页
第二章Java的类.ppt_第2页
第二章Java的类.ppt_第3页
第二章Java的类.ppt_第4页
第二章Java的类.ppt_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 Java 的 类,1,2,第二章 Java 的 类,2.1 有关面向对象的概念 2.2 Java类型系统 2.3 Java中的字符串 2.4 Java中的关键字、分隔符 2.5 运算符、表达式和语句 2.6Java中的类、方法和变量 2.7 Java名空间及访问规则 2.8 Java中的抽象类、接口和程序包 2.9 对象的构造函数,3,2.1 有关面向对象的概念,面向对象程序设计围绕的几个主要概念: 抽象数据类型 类 类型层次(子类) 继承性 多态性,4,2.1有关面向对象的概念,数据抽象类型,class Car int color_number; int door_number; i

2、nt speed; void brake() void speedUp() ; void slowDown() ,5,2.1有关面向对象的概念,什么是类? 类是描述对象的“基本原型”,它定义一种对象所能拥有的数据和能完成的操作,在面向对象的程序设计中,类是程序的基本单元。 程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据 和在其上的一组 操作构成。,6,2.1有关面向对象的概念,变量:即指对象的所知道的状态 方法:指对象的功能单元。 什么是消息? 软件对象通过相互间传递消息来相互作用和通信 一个消息由三部分组成: 1. 接受消息的对象 2. 要完成方法的名字 3. 方法需要的参

3、数,7,2.1有关面向对象的概念,一个例子 在程序中操作对象是类的一个实例:即对象 创建一个对象 Hello obj=new Hello(); 调用方法 obj.showString(“Hello World!”),class Hello ,private String s;,public void showString (String s) System.out.println(s); public void changeString(String str) s=str; return s;,8,2.1有关面向对象的概念,什么是封装? 封装把对象的所有组成部分组合在一起,封装定义程序如何引用

4、对象的数据,封装实际上使,私有数据,方法,方法,数据,对象A,对象B,公有数据,用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。,9,2.1有关面向对象的概念,什么是子类? 子类是作为另一个类的扩充或修正所定义的一个类.,bicycle,(super class),Mountain bikes,Racing bikes,Tandem bikes,sub class,10,2.1有关面向对象的概念,class Car int color_number; int door_number; int speed; push_break() add_oil() ,class Trash_C

5、ar extends Car double amount; fill_trash() ,什么是继承? 继承是子类利用父类中定义的方法和变量就像它们属于子类本身一样。,11,2.1有关面向对象的概念,什么是方法的覆盖? 在子类中重新定义父类中已有的方法。,class Car int color_number; int door_number; int speed; push_break() speed=0; add_oil() ,class Trash_Car extends Car double amount; fill_trash() push_break() speed=speed-10;

6、 ,12,2.1有关面向对象的概念,什么是方法的重载(多态性)? 在同一个类中至少有两个方法用同一个名字,但有不同的参数。,类,void show(int int_num),void show(double double_num),void show(int int_ um, float float_um),123,1.23,123,1.23,13,2.2 Java类型系统,14,2.2 Java类型系统,byte 8 位 1 -2727-1 short 16位 2 -215215-1 int 32 位 4 -231231-1 long 64位 8 -263263-1 float 32位 4

7、1.4e-45f3.4028235e+38f double 64位 8 4.9e-324d1.7976931348623157e+308d char 16位 同一码字符集 u0000 (Unicode character),15,2.2 Java类型系统,字符类型char 字符型表示单个16位Unicode字符,其值为 无符号整数,取值范围为0216-1,若用二进制表示,范围在00000000000000001111111111111111。 声明一个字符变量格式为: char singlechar; 声明字符变量同时赋值: char singlechar1=a;,16,2.2 Java类型系

8、统,字符类型char 可以用一个整数代表一个char变量的值: eg: char c1=65; 某些不可打印字符,如回车键、制表符、用斜杠加一个字符表示,仍代表一个字符,常被称为转义序列。 eg: char singlechar2 = t; 还可用udddd代表一个char变量值。 eg: char c2=u0061;,17,2.2 Java类型系统,布尔型的数据只有两个值:true或false 声名布尔型变量格式如: boolean booleanvar; 也可声名布尔型变量同时赋初值: boolean booleanvar= true; 常量一旦被赋值,就不能改变,即不能再赋值,即使是相同

9、的值。 eg: final float PI=3.14f; final int I=1;,18,2.2 Java类型系统,程序:保留字,标识符(类名、域名、方法名、符号常量、局部变量、标号、),操作符,界定符,字面常量。(P20) 声明一个变量 int data=10; Boolean isAlived; Java中的操作符:与C基本一致 Java中的关键字和数据类型 Java中不再有指针了,19,2.2 Java类型系统,标识符 1 什么叫做标识符? 2 标识符(Identifier)是以字母、下划线 (_)、或者美元符号($)开头,但是不 能以数字开头。 3 判断下列标识符: abc_xy

10、z _abc $abc #myclass 1name *2bcd Beg d og,A$,20,2.2 Java类型系统,类类名应为名词,含有大小写,每个字 的首字母大写。eg: Car,Example,HelloWord 接口接口是一种特殊的类,其命名约定与类名相同。 方法方法名应为动词,含有大小写,首字母小写,其余各单词的首字母大写。下划线尽量不要在方法名中采用。 eg: setName, getName, search,21,2.2 Java类型系统,常量简单类型常量名应全部为大写字母, 字与字之间用下划线分隔,对象常量可使用混合大小写。 变量使用混合大小写,首字符为小写, 后面的字首用

11、大写。不要使用下划线与$符号。,22,2.2 Java类型系统,常量在Java语言中,常量有两种存在方式。一种是引用Java平台所定义的,另一种是编程者自己定义。 final =; public static final double MYPI=3.14; public static final double PI=java.lang.Math.PI; 变量是Java程序中基本存储单位,变量定义由变量名、变量类型和作用域所组成 。 =,=; int a; int b1=10; long d1,d2=123L;,23,2.2 Java类型系统,强制类型转换: 在使用赋值运算时,可能会遇到等号左边

12、的数据类型和等号右边的数据类型不一致的情况,这时需要把等号右边的数据类型转化成等号左边的数据类型。如果这2种类型是兼容的,那么Java将自动地进行转换。例如,把int类型的值赋给long类型的变量。而将变量从较长的数据类型转换成较短的数据类型时,则必须用到强制类型转换,24,2.2 Java类型系统,在Java中”引用“是指向一个对象在内存中的位置,在本质上是一种带有很强的完整性和安全性的限制的指针。 当你声明某个类,接口或数组类型的一个变量时,那个变量的值总是某个对象的引用或者是null引用。 指针就是简单的地址而已,引用除了表示地址而外,还象被引用的数据对象的缩影,还提供其他信息。 指针可

13、以有+,-运算,引用不可以运算。,25,2.2 Java类型系统,s1,s2,10001,s2=s1;,a string,10001,class Mydate int year; int month; int day; ,Mydate today=new MyDate(),10008,today,s1=“a string”;,例: String s1;String s2;,26,2.2 Java类型系统,能够动态取得的内存有两种,一种是对象实体,一种数组。 Java用new申请内存,不需要自己释放不用的内存。 在Java中,定义数组时不必给出数组的大小,因为Java的数组是动态分配的。 数组变

14、量实际上是一个引用变量,因此要实例化才能使用。 eg:int arrayName; arrayName=new int8;,27,2.2 Java类型系统,例:String arrayOfString=new String10;每个数组元素包含一个对字符串对象的引用,此时值分配了包含字符串引用的空间,并没有对字符串本身分配内存,此时不能访问。,arrayOfString,for(int i=0;iarrayString.length;i+) arrayOfStringi=new String(“Hello”+i);,arrayOfString0 arrayOfString1 arrayOfSt

15、ring8 arrayOfString9,对数组的引用,对 字 符 串 的 引 用,28,2.3 Java中的字符串,Java中的字符串类 String和StringBuffer String 类的定义和实例的生成 例: String str; str=“this is a string” 或: String str1=new String(“hello”); 或: String str2=“aaaa”; String类与其它类型的转换 例1:将实型数转换成字符串 System.out.println(String.valueOf(Math.PI);,29,2.3 Java中的字符串,有两个字

16、符串str1,str2 str1=str2; 是指两个引用指向同一个地址 str1.equals(str2);是指两个字符串内容相等 获取String对象的信息 如:String s=“this is a string”; int len=s.length(); boolean result=s.equals(“this is a test”); char ch=s.charAt(6);,30,2.3Java中的字符串,StringBuffer的字符串的内容是可以改变的 创建StringBuffer对象 StringBuffer str=new Stringbuffer(“hello”); 获

17、取StringBuffer对象的信息 int len=str.length();,例:StringBuffer sb=new StringBuffer(“Drink Java!”); sb.insert(6,”Hot ”); System.out.println(sb.toString();,Drink Hot Java!,31,2.4 Java中的关键字、分隔符,关键字是Java语言中已经被赋予特定意义的单词,一般用来表示一种数据类型,或者程序的结构等。保留字是为Java预留的关键字。 目前Java语言定义的关键字如下:,* 当前不使用 * 为Java 1.2 增加 * 为Java 1.4

18、增加 *为Java 1.5 增加,32,2.4 Java中的关键字、分隔符,分隔符: 圆括号( )在定义和调用方法时用来容纳参数表,在控制语句或强制类型转换组成的表达式中用来表示执行或计算的优先权。 花括号 用来包括自动初始化的数组的值,也用来定义程序块、类、方法以及局部范围。 方括号 用来声明数组的类型,也用来表示撤消对数组的引用。 分号 ; 用来终止一个语句。 逗号 , 在变量声明中,用于分隔变量表中的各个变量。在for控制语句中,用来将圆括号内的语句连接起来。 句号 . 用来将软件包中的名字与它的子包或类分隔,也用来将引用变量与变量或方法分隔。 另外,还有一种较为特殊的空白分隔符,空格、

19、Tab跳格键及换行符均属于这种分隔符。,33,2.5 运算符、表达式和语句,Java有4大类运算符:算术运算、位运算、关系运算和逻辑运算。Java还定义了一些附加的运算符用于处理特殊情况。,34,2.5 运算符、表达式和语句,关系运算符:,35,2.5 运算符、表达式和语句,逻辑运算符:,36,2.5 运算符、表达式和语句,位运算符:,37,运算符优先级及其结合性,2.5 运算符、表达式和语句,38,运算符(补充说明),字符串连接运算符:Java语言扩展了“+”运算符的定义,使其具备连接两个字符串的功能,如 String first=”James” , last=”Gosling”; Stri

20、ng name=first+last; 结果为name=JamesGosling。 对象运算符“instanceof” 使用格式为instancename instanceof classname 其涵义为测试instance是否为类classname的对象实例,是则返回true,否则返回false。,39,2.5 运算符、表达式和语句,表达式 是由变量、常量、对象、方法调用和操作符组成的公式。符合语法规则的表达式可以被编译系统理解、执行或计算,表达式的值就是对它运算后所得的结果。,表达式一般分为: 算术表达式:(X-2)*(8-100%Y) 关系表达式:x5 赋值表达式:x=y+100 逻辑

21、表达式: (x=5) void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is :”+car_number); ,class CarDemo public static void main(String args) Car Democar=new Car(); DemoCar.set_number(3838); DemoCar.show_number(); ,49,2.6 Java中的类、方法和变量,类的继 承、 关系,class Car int

22、car_number; void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is :”+car_number); ,class TrashCar extends Car int capacity; void set_capacity(int trash_car_capacity) capacity=trash_car_capacity; void show_capacity(); System.out.println(“My capacity is

23、: ”+ capacity);,50,2.6 Java中的类、方法和变量,TrashCar中继承了Car中的两个方法,class CarDemo public static void main(String args) TrashCar DemoTrashCar=new TrashCar(); DemoTrashCar.set_number(4949); DemoTrashCar.set_capacity(20); DemoTrashCar.show_number(); DemoTrashCar.show_capacity(); ,Car是父类, TrashCar是子类,51,2.6 Java

24、中的类、方法和变量,何时选择继承性? 一个很好的经验: “B是一个A吗?” 如果是则让B做A的子类.,常犯的错误A有一个B吗? 例如让汽车轮子成为汽车的子类是错误的,52,2.6 Java中的类、方法和变量,类的严格定义及修饰字,类的修饰字 class 类名称 extends 父类名称 . ,public, abstract, final或者没有,变量修饰字 变量数据类型 变量名1,变量名2=变量初值;,方法修饰字 方法的返回值类型 方法名称(参数1,参数2, /方法的内容 ,方法和变量的定义及修饰字,public、protected、private,53,2.7 Java名空间及访问规则,每

25、个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在,可以使用。 abstract类不能直接产生属于这个类的对象 final类不能被其他任何类所继承(安全的考虑) public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用. friendly(缺省)类只能被本包中的其它类使用,54,2.7 Java名空间及访问规则,变量和方法的修饰字public、protected、private public: 任何其它类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。,public class ABC public int pub_i=5; public v

26、oid show() System.out.println(“pub_i”+pub_i); ,55,2.7 Java名空间及访问规则,class Demo public static void main(String args) ABC abc=new ABC(); System.out.println(“abc.pub_i”+abc.pub_i); abc.pub_i=10; abc.show(); ,abc.pub_i=5 pub_i=10,56,2.7 Java名空间及访问规则,protected变量和方法 如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包

27、的类要使用,必须是该类的子类可以存取变量或调用,public class ABC protected int pro_i=5; protected void show() System.out.println(“pro_i=” +pro_i); ,57,2.7 Java名空间及访问规则,不同包中的类不能使用,class DEF public static void main(String args) ABC abc=new ABC(); System.out.println (“_i=“+_i); _i=10; abc.show(); ,58,2.7

28、Java名空间及访问规则,import mytest.pack.ABC; class DEF extends ABC public static void main(String agrs) DEF def=new DEF(); System.out.println(_i); _i=10; def.show(); ,不同包但是是子类,pro_i=5 pro_i=10,59,2.7 Java名空间及访问规则,private 不允许任何其他类存取和调用 friendly(前边没有修饰字的情况) 在同一程序包中出现的类才可以直接使用它的数据和方法。,60,2.7 Java

29、名空间及访问规则,当子类中的变量名与父类的相同,原来的变量被遮盖。,class A int data_a=3; class B extends A int data_a=5; class C extends B void print_out() System.out.println(“data_a= ”+data_a); System.out.println(“A.data_a= ”+A.data_a); System.out.println(“B.data_a= ”+B.data_a); ,data_a=5 A.data_a=3 B.data_a=5,class demo public st

30、atic void main(String args) C c=new C(); c.println_out(); ,61,2.7 Java名空间及访问规则,方法的覆盖(overriding)和重载(overloading) 子孙类中定义的方法和祖先类中某个方法同名,同参数行,则祖先类中的该方法被覆盖. 方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同.,类,void show(int int_num),void show(double double_num),void show(nit nit_ um, float float_um),123,1.23,123,1.23,

31、62,2.7 Java名空间及访问规则,class Parent protected void m() public class OverridenMetod1 extends Parent void m() ,OverriddenMethod1.java:3 : The method void m() declared in class OverriddenMethod1 cannot override the method of the same signature declared in class Parent. The access modifier is made more res

32、trictive. void m() 1 error,编译程序时会出现下面的错误:,覆盖方法时,子类的方法不能比超类的方法存取范围小。,63,2.7 Java名空间及访问规则,到此为止-final final在方法之前,防止该方法被覆盖。 final在类之前,表示该类不能被继承。 final在变量之前,定义一个常量。 属于类的变量和方法-static static 在变量或方法之前, 表明它们是属于类的。,class ABCD char data; static int_share_data; class Demo ABCD a,b,c,d,64,2.7 Java名空间及访问规则,静态变量在各

33、实例间共享。 如果是public静态变量,则其它类可以不通过实例化访问它们。 静态方法称为类的方法,因此不用实例化即可调用(面向过程)。 一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量。 一个类的方法只能访问自己的局部变量。,65,2.7 Java名空间及访问规则,例:不正确的引用 class StaticError String mystring=“hello”; public static void main(String args) System.out.println(mystring); 错误信息:cant make a static reference to non

34、static variable。 为什么不正确? 只有对象的方法可以访问对象的变量。,66,2.7 Java名空间及访问规则,解决的办法: 1. 将变量改称类变量 class StaticError static String mystring=“hello”; public static void main(String args) System.out.println(mystring); ,67,2.7 Java名空间及访问规则,2. 先创建一个类的实例 class NoStaticError public static void main(String args) String mys

35、tring=“hello”; System.out.println(mystring); ,68,2.7 Java名空间及访问规则,public class AccessInClass1 int sex; void m1() sex=1; int m2() sex=2; return sex; void m3() m1(); m2(); ,前提:若某个方法可直接访问其它成员,该方法不能是静态的,即方法前面不能有static关键字。,69,2.7 Java名空间及访问规则,public class AccessInClass2 int sex; static int salary; void m

36、1() sex=1; salary=1; int m2() sex=2; salary=2; return sex; void m3() m1(); m2(); m4(); m5(); static void m4() static void m5() AccessInClass2 aic=new AccessInClass2(); aic.m1(); aic.m2(); aic.m3(); /m1();/error aic.m4(); m4(); /m2();/error /m3();/error aic.sex=3; aic.salary=3; salary=3;/sex=3;error

37、,注意:非静态方法访问静态或非静态成员方式一样,可直接访问。静态方法必须创建对象才能访问非静态成员。静态方法可不创建对象,直接访问静态成员,也可创建对象来访问。,70,2.7 Java名空间及访问规则,public class AccessOtherClass1 void m1() OtherClass1 oc1=new OtherClass1(); oc1.sex=1; System.out.println(“sex=”+ oc1.sex); public static void mian(String args) OtherClass1 oc2= new OtherClass1(); oc

38、2.sex=2; System.out.println(“sex= ”+oc2.sex); oc2.m2(); class OtherClass1 int sex; void m2() System.out.println(“m2()”); ,注意:文件中包含两个类,那只能有一个类前加public关键字,且文件名必须与这个类名一致。AccessOtherClass1访问OtherClass1, 无论何情况下,都需创建该类对象才可以访问它的成员(域或方法)。 若两个类名前都没有public,可以任何名字把文件存盘。,71,按值传送:,当“按值”传送自变量时,方法调用不会改变自变量的值。 当对象实

39、例作为自变量传送给方法时,自变量的值是对象的引用可修改该引用指向的对象内容。 (P93),72,public void changeStr(String value) System.out.println(before value is: +value); value = new String(different); System.out.println(after value is: +value); public void changeObjValue(PassTest ref) System.out.println(before ref.ptValue is: +ref.ptValue)

40、; ref = new PassTest(); ref.ptValue = 99f; System.out.println(after ref.ptValue is: + ref.ptValue);,73,2.8 Java中的抽象类、接口和程序包,抽象类是指不能直接被实例化的类,因此一般作为其它类的超类,与final类正好相反。 抽象类中的抽象的方法在该类中定义但不在该类中提供实现,由继承类提供细节。 public abstract class SomeAbstractClass void method1() System.out.println(“Hi, Java”); void metho

41、d2(); 定义抽象方法的类必须是抽象类。,74,2.8 Java中的抽象类、接口和程序包,/已有两个类Circle和Rectangle,完成相关参数的计算 class Circle public int r; Circle(int r) this.r=r /this指这个对象的 public int area() return 3*r*r; /取近似 class Rectange public int width,height; /这里不需this Rectangle (int w, int h) width=w,height=h; public int area() return widt

42、h*height; ,75,2.8 Java中的抽象类、接口和程序包,假设有若干个Circle,以及若干个Rectangle,希望计算它们的总面积,直截了当的做法是将它们分别放到两个数组中,用两个循环,加上一个加法,这种做法是不漂亮的。 如果还有其它形状,triangle,ellipses等,上述方法显得“累赘”,我们希望有一种统一的表示,例如用一个数组shape,接受所有的形状,然后用 for (i=0;ishape.length;i+) area_total+=shapei.area();,76,abstract class Shape abstract float area(); cla

43、ss Circle extends Shape public int r; Circle(int r) this.r=r; public float area() return 3.14*r*r; class Square extends Shape public int width,height; Rectangle (int w, int h) width=w,height=h; public float area() return width*height; ,77,2.8 Java中的抽象类、接口和程序包,利用接口可实现多重 继承(可同时实现多个接口)。 接口的作用和抽象类 类似,指定

44、原型,不直 接定义方法的内容。 关键字implement用 来实现方法,即在使用时要用给出方法的实际内容。 接口中的方法和变量 是public的。,interface Stack void push(object x); object pop();,class A extends Applet implements Stack void push(object x) ;/具体内容 object pop() ;/具体内容 ,78,2.8 Java中的抽象类、接口和程序包,程序包:相当于其它语言中的库函数。 打包,package Graphics; class Square ; class Cir

45、cle ; class Triangle ;,使用程序包中的类要用import命令。表示路径,*表示使用包中的所有类。 import java.io.FileInputStream; import java.io.*;,79,2.9 对象的构造函数,class Demo1 /数组的配置 public static void main(String args) int array; array=new int55; array14=5; ,class myClass /对象实体的产生 int data=5; class Demo2 public static void main(String a

46、rgs) myClass obj;/建立一个引用 obj=new myClass(); System.out.println(obj.data); ,80,2.9 对象的构造函数,Constructor和finalizer constructor(构造函数),在一个类中和类同名的方法叫构造函数。系统在产生对象时会自动执行。,class Point int x,y; Point() x =0;y=0; Point(int new_x,int new_y) x=new_x;y=new_y; ,class UsePoint Point point_A=new Point(); Point point

47、_B=new Point(5,7); ,81,2.9 对象的构造函数,构造函数应包含哪些内容? 构造函数多半定义一些初值或内存配置工作 一个类可以有多个构造函数(重载),根据参数的不同决定执行哪一个. 如果程序中没有定义构造函数,则创造实例时使用的是缺省函数,它是一个无内容的空函数. 若类为public,但是构造方法为private,那么在其它类中也不能创建该类的对象。即若不想让别人访问一个类,可用private修饰它的构造方法。,82,2.9 对象的构造函数,this this指自己这个对象 this的作用是要将自己这个对象当作参数,传送给别的对象中的方法。,class ThisClass

48、public static void main() Bank bank=new Bank(); bank.someMethod(this); ,class Circle int r; Circle(int r) this.r=r; public area() return r*r*3; ,83,2.9 对象的构造函数,super指这个对象的父类 super用来引用父类中的方法及变量数据. public class apple extends fruits public apple(int price) super(price); 以上句子表示使用超类的构造函数生成实例 super必须是子类构造

49、器的第一条语句,84,2.9 对象的构造函数,超类与子类可以有一模一样的静态方法。但静态方法不能被覆盖(重置),只能被隐藏,且子类与父类中的方法须同时为static或同时不是static。,class A static void m() System.out.println(“static method in superClass”); public class verriddenStatic1 extends A static void m() System.out.println(“static method in subClass”); public static void main(S

50、tring args) A obj= new OverriddenStatic1(); obj.m(); ,结果:Static method in superClass,85,2.9 对象的构造函数,静态块是在类被调到内存后就开始执行的,一般用于初始化类中的静态成员。它和创建对象或者main方法没有关系。,public class StaticBlock1 static System.out.println(“static block”); public static void main(String args) ,运行后结果:Static block,86,2.9 对象的构造函数,在创建对象

51、时,对象所在类的所有数据成员会首先进行初始化。,class Children children(int marker) System.out.println(“Children(”+marker+ “)”); class Parent Children child1=new Children(1); Parent() System.out.println(“Parent()”); Children child3=new Children(33); Children child2 = new Children(2); void relation() System.out.println(“rel

52、ation()”); Children child3=new Children(3);/static Children child3=new Children(3); public class ObjectInit public static void main(String args) System.out.println(“main begins”); Parent mother=new Parent(); mother.relation(); ,main begin Children(1) Children(2) Children(3) Parent() Children(33) rel

53、ation(),87,2.9 对象的构造函数,在创建对象时,对象所在类的所有数据成员会首先进行初始化。,class Children children(int marker) System.out.println(“Children(”+marker+ “)”); class Parent Children child1=new Children(1); Parent() System.out.println(“Parent()”); Children child3=new Children(33); Children child2 = new Children(2); void relation() System.out.println(“relation()”); static Children child3=new Children(3);/Children child3=new Children(3); public class ObjectInit publ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论