5.9 abstract类和方法

 

5.9 abstract类和方法

  1. 参考书籍:Java面向对象程序设计(第二版)--耿祥义 张跃平编著

抽象类A

 

package javalianxi;

 

abstract class A {          //不允许使用final和abstract同时修饰一个方法

abstract int sum(int x,int y);           //抽象方法

 

int sub(int x,int y){

return x-y;                          //非抽象方法(可有可无)

扫描二维码关注公众号,回复: 2238025 查看本文章

}

}

//注意:1.对于抽象方法 ,只允许声明,不允许实现

//2.abstract类不能使new运算符创建该类的对象

//3.abstract类也可以没有abstract方法

 

 

非抽象类B,继承抽象类A

 

package javalianxi;

 

class B extends A{

int sum(int x,int y){        //子类必须重写父类的sum方法

return x+y;               

}//非抽象类是某个抽象类的子类,那么必须重写父类的抽象方法,给出方法体

 

}

 

//重写(Override):可以隐藏已继承的实例方法(方法重写也称为方法覆盖)

//规则:1:方法的类型一致   2:父类的方法的类型的子类型,方法名字,参数个数,参数类型和父类方法一致

//3:重写方法可以操作继承的成员变量,也可以操作子类新声明的成员变量     4:用super使用隐藏的方法

 

主类

 

package javalianxi;

 

public class Javalianxi {

public static void main(String args[]){

B b = new B();

int sum = b.sum(30,20);    //调用重写的方法

int sub = b.sub(30,20);    //调用继承的方法

System.out.println("sum="+sum);

System.out.println("sub="+sub);

}

}

猜你喜欢

转载自blog.csdn.net/weixin_42717928/article/details/81082479
5.9