static修饰符特点
1.普通方法可以使用静态变量和非静态变量,但静态方法可以只能使用静态变量
2.普通方法可以定义非静态变量,但不能定义静态变量 因为static是类。静态方法同理
3.普通方法中可以使用this 静态方法不能使用this 和super (super后面会重点讲)
4.调用static修饰的属性或方法 可以不创建对象 直接类名.属性名 或类名.方法名(),但调用非static修饰的属性或方法时 必须创建对象
static修饰的方法又被称为工具方法 因为调用它时不需要实例化(new对象) eg:Math.random();
面向对象的三大特征之一——封装
概念
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现隐藏信息的操作和访问。
好处
1.隐藏类的实现细节
2.方便加入控制语句
3.方便修改实现
4,只能通过规定的方法访问数据
步骤
1.修改属性的可见性:设为private private私有 只能自己访问(在类中创建main方法可以访问,但是在测试类里面访问不了)
2.创建公有的getter/setter方法:用于属性的读写
3.在getter()/setter()方法中加入属性控制语句:对属性值的合法性进行判断
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
private boolean flag;
//注:flag对应的get方法要写成isFlag()
public boolean isFlag(){
return flag;
}
public void setFlag(boolean flag){
this.flag=flag;
}
继承
注:子类继承父类非私有的属性与方法
1.把相同的特征全部抽取到父类 特征包括属性和方法
2.在子类写上 extends 父类名
3.继承修饰符后面重点讲
方法重写
重写方法时可以在方法前加上@Override(也可以不加)
子类重写父类方法(就相当于把父类原来的方法覆盖了)
注:方法重写与重载没有关系
super
父类的意思 要看子类继承了哪个父类
1.调用父类的属性或方法 super.属性名 super.方法名
2.可以在普通方法的任意位置
3.在构造方法中只能位于第一位(以后重点讲)
4.不能访问父类private修饰的成员
5.静态方法中不能使用super和this