今天来谈一谈JAVA的三大特征:封装、继承和多态
- 什么是封装
JAVA封装的意义:
一是把属性和方法(特征与功能)封装在一个类组件当中。
二是使用private关键字来限制属性和方法的使用。
class Student{
private String name;
private Integer num;
private Integer age;
private void study(){
System.out.println("好好学习,天天向上!");
}
}
- 什么是继承
继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,同时还可以在子类中重新定义以及追加属性和方法。
package Day01;
/*什么是继承*/
public class Demo27 {
public static void main(String[] args) {
Cat c=new Cat();
Animal animal=new Animal();
System.out.println(c.age);
System.out.println(c.name);
c.eat();//打印Cat类的方法
//animal.jump();//会报错,因为父类不可以调用子类的私有方法
//注:子类不可调用父类的私有方法,不是因为没有继承,而是子类对父类的私有资源不可见
//System.out.println(c.Id);
}
}
class Animal{
String name;
Integer age;
private Integer ID;
public Animal() {//子类会默认使用父类的无参构造
System.out.println("我是父类的无参构造");
}
public void eat(){//定义父类的方法
System.out.println("动物会吃东西");
}
}
class Cat extends Animal{//创建Animal的子类Cat
/*注意:子类会默认使用父类的无参构造*/
public void eat(){//子类可以重写父类的方法
System.out.println("小猫喜欢吃小鱼干!");
}
private void jump(){//定义子类的私有方法
System.out.println("小猫会跳");
}
}
- 什么是多态
多态的前提:继承加重写
口诀1:父类引用指向子类对象
解释:创创建一个子类对象,用父类类型的引用类型变量来保存
口诀2:编译看左边,运行看右边
解释:多态看父类中是否定义了这个方法,具体执行的时候。执行的是子类重写的功能
注:干活的是子类,但是看作是父类类型
为什么使用多态?
我们不是为了调用子类的特有功能,特有功能使用子类对象就可以,我们为了把所有子类统一标准,向父类看齐,父类定义了的方法,多态对象才能使用。
/*创建多态对象*/
Animal a=new Cat();