众所周知,Java面向对象的三大特性是封装、继承、多态。
封装:指的是类、属性、方法的封装,把功能相同的代码封装成类或者方法。
继承:指的是一个类从另外一个类中获得属性和方法的过程。
多态:指的是一个对象的不同表现形式。
封装的话,举个例子,创建一个学生类,把学生的姓名,年龄都放在这个类里面,就是封装。
继承:分为父类和子类,我们首先创建一个父类:
public class Fath {
String name;
int age ;
void show(){
System.out.print(“我是父亲,我的年龄是:”+age+”我的姓名是:”+name);
}
}
然后我们创建一个子类,这里会用到extends的关键字,是继承的意思:
public class Son extends Fath {
void show(){
System.out.print(“我是儿子,我的年龄是:”+age+”我的姓名是:”+name);
}
}
最后我们创建一个测试类:
public class Demo {
public static void main(String[] args) {
Son a = new Son(); //先把对象实例化
a.name = “张三”;
a.age = 17;
a.show();
}
}
最后的输出结果是:我是儿子,我的年龄是:17我的姓名是:张三
我们在Son类里面,明明里面没有任何一个成员变量和成员方法。但仍然有输出结果。这便是Son类继承了Father,从父类处获取了成员变量和成员方法的过程,这就是是继承。
多态性:举个例子,一个老师,他既可以是人类,也可以是教师类。这便是多态性的一种体现。我们引用上面的父类和子类,再建立一个测试类:
public class Demo {
public static void main(String[] args) {
Father a = new Son();
a.name = “张三”;
a.age = 17;
a.show();
}
}
这样,一个父类的变量,却引用子类的对象。这就是多态性的体现。多态性要具有三个条件:要有继承、要有覆盖(也就是重写)、父类变量引用子类对象。
后面我们再详谈Java的三大特性。