注意:
1,可以把多个类放在一个文件中,但一个文件只能有一个公共类,且该公共类与文件名同名,包含main方法,如这里的TestCircle类。
2,类的数据域如果没有显式赋,会有默认:引用型(如String)会赋null,数型(如int)会赋0,boolean型会赋false,char型会赋'\u0000';
而Java中方法的局部变量则不会有默认,这时会报错。
3,如果认为对象不再需要,可以显示赋null,这样Java虚拟机将自动回收其所占空间。
1,静态变量、静态方法都是属于类而不是属于对象。
2,静态方法只能调用静态变量、静态方法,不能调用实例变量和实例方法;反之,实例方法却可以调用实例变量、实例方法、静态变量、静态方法。这是因为实例变量是各个对象所独有的,直接调用就不知道是哪个对象了。
3,常量的定义是:final double PI=3.14;它仅仅表示的是不可重新赋。静态常量则可以被大家直接公用:static final double PI=3.14;
1,访问修饰符是指private,默认修饰符(不用修饰符),protected,public四种。这里按照了访问修饰符所规定的被访问范围从小到大的顺序排列。
2,访问修饰符是用来控制被访问范围的。用不同的访问修饰符修饰一个对象是为了使该对象获得不同的被访问范围。访问修饰符所修饰的对象:可以是类的数据成员、类的方法成员或类本身和接口。访问的方式其实也分为三种:在类内直接访问数据成员和调用方法成员,在类外通过类来访问static成员或实例对象来访问非static成员,和以继承的方式访问(这里,“以继承的方式访问”如果深究下去,还可以包括直接访问基类的数据成员和方法成员与对基类的方法成员进行覆盖以达到“多态”效果等方式)。因此,如果用简单的乘法原理来说,可供陈述的情况就有4*3*3=36种之多。
3,可见性修饰符用于类类的数据成员、类的方法成员或类本身和接口。但不能用于方法中的局部变量,否则引起编译错误。
4,举个特别的例子:
大多数情况下,构造方法应该是公用的。但是,如果想防止用户创建类的实例,可以使用私有的构造方法。比如,因为Math类的所有方法都是静态的,没有必要创建实例。一个解决办法就是在类中定义一个虚设的私有的构造方法,Math类中有一个如下所示的私有构造方法,所以,Math类不能实例化:
private Math(){
}
5,类本身只有两种访问控制:public和默认(定义时无访问控制符)。
1、public修饰的类能被所有的类访问。
2、默认修饰的类只能被同一包中所有的类访问。
1,可变类:当你获得这个类的一个实例引用时,你可以改变这个实例的内容。
不可变类:当你获得这个类的一个实例引用时,你不可以改变这个实例的内容。不可变类的实例一但创建,其内在成员变量的就不能被修改。
2,如何创建一个自己的不可变类(Mutable and Immutable Objects):
.所有成员都是private
.不提供对成员的改变方法,例如:setXXXX
.确保所有的方法不会被重载。手段有两种:使用final Class(强不可变类),或者将所有类方法加上final(弱不可变类)。
.如果某一个类成员不是基本类型(primitive)或者不可变类,必须通过在成员初始化(in)或者get方法(out)时通过深度clone方法,来确保类的不可变。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23953-6.html
发财的标准是多少
但北洋水师主力舰占优
人家的确是在公海航行
只求真相