a) 封装
类的封装性是指将数据和过程(属性和方法)封装在一个包中,隐藏了内部实现机制,其他类可以使用,但不知道实现过程。
b) 继承
允许类的重用,子类能继承父类中的所有属性和方法,同时可以声明自己的新属性和方法,但是final类型的方法是不可以重写的。
c) 抽象
抽象类是指只定义类的方法,而没有具体实现,子类需要自己实现相应的方法。类中只要有一个抽象方法,整个类就成为抽象类,而抽象类中的方法可以全部定义并实现,可以没有抽象方法。抽象类不能直接实例化。
d) 多态
多态是指,一个对象可以指向多种实际类型的对象:
class animal {
public final int age = 1000;
public void say(){
System.out.println("animal");
}
}
class man extends animal{
public int age = 30;
public void say(){
System.out.println("man");
}
}
class woman extends animal{
public int age = 5;
public void say(){
System.out.println("woman");
}}
上面定义的3个类,其中man和woman都是继承的animal,
animal r = new animal();
animal m1 = new man();
animal m2 = new woman();
r.say();
m1.say();
m2.say();
animal这个对象可以指向animal,man和woman,同样都是animal对象,但是调用say方法,结果却不一样:
animal
man
woman
这就是类的多态性。
类的属性是没有多态性的:
System.out.println(r.age);
System.out.println(m1.age);
System.out.println(m2.age);
得到的结果是:
1000
1000
1000