限制外部对类中成员的访问;提高安全性
(2)说明在类的成员声明的前面加上修饰符private,则无法从该类的外部访问到该类内部的成员,而只能被该类的自身访问和修改,而不能被任何其他类(包括其子类)来获取或引用。因此达到了对数据最高级别保护的目的。
2、公共成员 (1)场景既然在外部无法访问类中的私有成员,那么Java提供了公共成员使得私有成员可以被外界访问。
(3)说明在类的成员声明的前面加上修饰符public,则表示该成员可以被所有其他的类访问。
例如,使用公共方法来访问私有成员。
class Cylinder{
private double radius;
private int height;
private double pi = 3.14;
public void setCylinder(double r,int h){
if(r>0&&h>0){
radius = r;
height = h;
}else{
System.out.println("数据有错误!");
}
}
......
}
3、缺省访问控制符
(1)对于类成员(成员变量+成员方法)
如果类成员的前面不加任何访问控制符,则该成员具有缺省的访问控制特性,表示这个成员只能被同一包(类库)中的类所访问和调用。
(2)对于类如果一个类的前面不加任何访问控制符,则这个类具有缺省的访问控制特性,表示这个类只能被同一包(类库)中的类所访问和引用。
二、方法的重载 1、重载的定义重载是指同一个类内有多个同名方法,但它们的参数列表不同,具有不同的功能。
2、重载的条件同名,但参数个数不同同名,但参数类型不同同名,但多参数类型顺序不同,例如int sum(int a,int b){...}和int sum(int b,int a){...}构不成重载;而int sum(int a,double b){...}和int sum(double b,int a){...}可以构成重载。
以上任一条件满足,即可构成重载。
注意:
1、方法的重载根据参数来决定,而不是返回值、修饰符
2、“多参数类型顺序不同”本质上还是参数类型不同,只是有些地方把这一点单独拿出来讲
主要作用:在对象被创建时初始化对象的成员
(2)特点构造方法的名称必须和它所在的类的名称完全相同构造方法没有返回值,但不能用void修饰,因为构造方法的返回值类型就是该类本身构造方法在创建对象时自动调用,不需要在程序中调用 2、默认的构造方法
如果类省略掉构造方法,Java编译器会为该类自动生成默认的构造方法,程序在创建对象时会自动调用默认的构造方法。
默认的构造方法没有参数,其方法体中也没有任何代码。
3、构造方法的重载作用:使用户可以用不同的参数创建对象
4、从一个构造方法调用另一个构造方法在构造方法中使用this关键字来调用另一个构造方法,并且this必须写在构造方法内的第一行位置。
class Cylinder{
......
public Cylinder(){
this(2.5,5,"红色");
......
}
public Cylinder(double r,int h,String str){
......
}
}
5、公共构造方法和私有构造方法
构造方法一般都是公有的,这是因为它们在创建对象时,在类的外部被系统自动调用。如果一个构造方法被声明为private,则无法在创建对象时被自动调用,但在方法所在的类中还是可以被调用的。



