面向对象的那些事
多态与继承的概念
继承:将多个类中具有的同种功能和同种变量抽离出来让其他类与这个类产生联系
多态:事物在不同的时候有不同的表现形式,也就是可以将不同的子类当成父类来看比如你现在是儿子但是在你儿子眼里你就是父亲
多态和继承的注意事项
继承:(1)子类能够继承父类的绝大多数属性,但是父类私有的不能被继承,final修饰的方法不能被子类重写,被final修饰的变量是常量且需要自己赋值不会有默认值且不可修改
(2)不要为了部分功能而去继承
(3)子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。
多态:(1)多态的存在前提是有继承和方法重写
(2)存在向上或者向下转型;向上转型可以访问父类的方法,向下强转可以访问子类的特有方法
代码举例
package day10;
public class Test {
public static void main(String[] args) {
Animal a=new Dog("阿黄",18);
a.eat();//重写了所以调用狗的吃
Dog d=(Dog) a;
d.play();
}
}
class Animal {
String name;
int age;
public Animal(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Animal() {
super();
}
public void eat() {
System.out.println("我吃东西");
}
}
class Dog extends Animal{
public Dog() {
super();
// TODO Auto-generated constructor stub
}
public Dog(String name, int age) {
super(name, age);
// TODO Auto-generated constructor stub
}
public void eat() {
System.out.println("狗吃奥里给");
}
public void play() {
System.out.println("我玩球");
}
}
我是小白下周再见