封装
通过封装可以提高代码的安全性、复用性、便于调用;
Java中4种“访问控制符”分别为private、default、protected、public;
1.private 表示私有,只有自己类能访问;
2.default表示没有修饰符修饰,只有同一个包的类能访问;
3.protected表示可以被同一个包的类以及其他包中的子类访问;
4.public表示可以被该项目的所有包中的所有类访问;
多态
多态是指方法的多态,与属性无关;
多态存在的条件:继承,方法重写,父类引用指向子类对象;
父类引用调用子类重写的方法,多态出现
对象的转型
对象的转型分为向上转型和向下转型;
向上转型属于自动转型是指父类指向子类对象,但向上转型后父类引用变量只能调用父类的方法不能调用子类的方法;
若想调用子类方法需要进行强制转换又被称作向下转型;
final关键字
1.修饰变量: 被final修饰的变量不可改变(常量)
2.修饰方法:该方法不可被子类重写但是可以被重载
3. 修饰类: 修饰的类不能被继承
抽象方法和抽象类
抽象方法
用abstract修饰的方法,没有具体的方法语句,只起一种声明的作用;
抽象类
包含抽象方法的类就叫抽象类,抽象类必须用abstract修饰,且必须被继承;
//抽象类
abstract class Animal {
abstract public void shout(); //抽象方法
}
class Dog extends Animal {
//子类必须实现父类的抽象方法,否则编译错误
public void shout() {
System.out.println("汪汪汪!");
}
public void seeDoor(){
System.out.println("看门中....");
}
}
//测试抽象类
public class TestAbstractClass {
public static void main(String[] args) {
Dog a = new Dog();
a.shout();
a.seeDoor();
}
}
注意:
抽象类不能实例化,即不能用new来实例化抽象类;
抽象类可以包含属性、方法、构造方法,但是构造方法不能用来new实例,只能用来被子类调用;
抽象方法必须被子类实现;