类的继承多态

1 问题

自定义java类,类中可以写成员属性,成员方法,构造函数,前面可以加上public,private,成员属性一般定义成private,在类的内部可以访问,而在外部不能;成员方法一般定义为public,在内外部均可访问;在类的继承里会遇到成员变量重名,我们需要用super关键字来访问。

类的继承多态_第1张图片

2 方法

编写代码进行实践,首先写一个父类,里面有一个num变量和父类方法。

然后定义一个子类,里面有相同的变量和方法,发现子类同名会覆盖父类的方法,而相同名字的变量并不会覆盖,需要通过super关键字来访问。

java中的 static关键字可以用在变量,方法,块和嵌套类中在类中把一个变量声明为static,那么这个变量就会成为这个类的所创建的对象的共同属性。用static修饰代码块,这个代码块会在类第一次装载的时候执行。

第一步:编写一个父类,里面设置变量和父类方法。
类的继承多态_第2张图片
第二步:然后定义了一个子类,里面有相同的变量和方法,发现子类同名会覆盖父类的方法,需要用super来访问。
类的继承多态_第3张图片
第三步:实现接口多态,首先定义了一个接口Car类,里面有汽车名称数据成员和获得汽车售价的方法,定义一个BM类去实现这个Car类,那么BM类中的方法是它独有的,又定义一个QQ类去实现Car类。
public class fu {
   int num = 10;
   public void method(){
       System.out.println(num);
   }
}
public class java extends fu{
   int num = 20;
   public void method(){
       System.out.println(num);
   }
   public static void main(String[] args) {
       java j1 = new java();
       j1.method();
   }
}
Car car1 = new BM();
Car car2 = new QQ();
car1.getPrice();
car2.getPrice();

3 结语

在main中car1和car2都去调用getPrice()这个同名方法时,它会根据它被定义时右边的对象类型来选择不同的方法,一个是BM内的,一个是QQ内的,从而实现了多态。

你可能感兴趣的:(java,开发语言)