1、类的结构:属性
1、常用的权限修饰符:private、public、缺省、protected
2、在内存中加载的位置:
-
属性:加载到堆空间中 (非static)
-
局部变量:加载到栈空间
2、类的结构:方法
1、4种权限修饰符:private、public、缺省、protected
2、类方法的重载:
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数不同或者参数类型不同即可。
//如下的4个方法构成了重载
public void getSum(int i,int j){
System.out.println("1");
}
public void getSum(double d1,double d2){
System.out.println("2");
}
public void getSum(String s ,int i){
System.out.println("3");
}
public void getSum(int i,String s){
System.out.println("4");
}
//不构成重载的举例:返回值不同不构成重载
//如下的3个方法不能与上述4个方法构成重载
public int getSum(int i,int j){
return 0;
}
public void getSum(int m,int n){
}
private void getSum(int i,int j){
}
3、类的结构:构造器
1、权限修饰符 类名(形参列表){}
2、一个类中定义的多个构造器,彼此构成重载
3、一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器
class Person(){
//构造器1
public Person(){
System.out.println("Person().....");
}
//构造器2
public Person(String n){
name = n;
}
}
4、面向对象的特性1:封装性
- 体现一:将类的属性xxx私化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)此属性的值
- 体现二:不对外暴露的私有的方法
- 体现三:单例模式(将构造器私有化)
- 体现四:如果不希望类在包外被调用,可以将类设置为缺省的。
- 权限从小到大顺序为:private < 缺省 < protected < public