您当前的位置:《Java语言程序设计》听课笔记:13
《Java语言程序设计》听课笔记:13
class A
{int x;
A(int y){x=y;}
}
class B
{public static void main(String args[])
{//A a=new A();  非法
A b=new A(2);// b.x=2
}}
说明:当用户自定义了构造方法后,系统将不再生成默认构造方法
清除对象
对象的生命周期:生成,使用,清除
通过终结函数finalize执行自动的内存垃圾收集
子对象
e.g: class MyDate
{//...}
class Person
{String name;
char sex;
MyDate birthday;//子对象
public Person(String s,char c,MyDate d)
{name=s;sex=c;birthday=d;}
}
对象的赋值
同一个类的对象间可以赋值
传送引用(别名),共享内存
引用:即对象的地址,对象的句柄
e.g://A.java
class B
{private int x=2;
public void f(){System.out.println(x);}
public void s(int y){x=y;}}
public class A
{public static void main(String args[])
{new A().t();}
public void t()
{B m=new B();// m.x=2
B n=m;//m.x=2,n.x=2
m.s(5);//m.x=5,n.x=5
n.f();//5
}}
成员变量
。描述了类和对象的状态,也称属性,数据或域
。有默认值
。成员变量的声明通常在成员方法之前,使用前必须先声明
成员变量的修饰符
。transient:过度变量,一般用在对象序列化上,说明成员变量不允许被序列化,少用
volatile:易失变量,用来防止编译器对该成员进行某种优化,少用
成员方法
。定义格式
修饰符 返回值类型 方法名(参数表)
{。。。}
方法名可以喝成员变量同名,也可以和其他成员方法同名(方法重载)
修饰符:native 本地方法
。用其他语言编写的方法在Java中称为本地方法
。SDK提供Java本地接口JNI
成员方法的重载
。方法同名,可以实现多态
。同名的方法要求形式参数的个数,类型,顺寻不完全相同
。系统根据形式参数哎区分各种同名方法实现重载函数应完成相同或相似的功能
e.g: int f(){return 1;}
int f(int x){return x;}
int f(int x,int y){return x+y;}
对象作方法的参数
e.g://A.java
class B
{private int x=1;
B(){x=2;}
public void f(){System.out.println(x);}
public void s(int y){x=y;}
}
public class A
{public static void main(String args[])
{B b=new B();//b.x=2
new A().g(b);
b.f();//3
}
public void g(B a){a.s(3);}
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
收藏状态
收藏本课程的同学
相关课程