类的继承
继承:基于父类的某个扩展,制定出一个新的子类,而这个子类可以继承父类的原有属性和方法
java是如何体现继承的特性的
平板电脑继承了台式机电脑所拥有的功能(如听音乐)的基础上,同时扩展出自己特殊的用途:如:充电照相
extends关键字
语法
child extends Parents
示例
public class Pad extends Computer{
.......
}
package figure;public class Demo {public static void main(String[] args) {benign com=new benign();//创建父类对象benevolent sd =new benevolent();System.out.println(com.screen);//输出父类的属性com.startup();//输出方法} }
package figure;public class benign extends benevolent {//子类benign }
package figure;public class benevolent {String screen="ed";void startup() {System.out.println("sdf");} }
对子类的功能进行重写
public class benign extends benevolent{void startup(){System.out.println("ser");}//对父类的方法进行重写void open4(){System.out.println("asd");}//添加子类特有的方法 }
super关键字
语法:super.property(); super.method();
子类对父类的方法进行重写,就会把原来的方法覆盖掉,无法调用原来的父类方法。
java提供关键字super,super就代表了父类。
在子类中使用super.property;指的是父类的属性
super.method();指的是父类的方法
父类中的方法:
String hello() {
return "sajdkf";
}
子类中的方法:
String hello() {
return "sajdkf"+"s";
}
当 "sajdkf"更改为“欢迎光临”时,需要将子类与父类中的方法都做出修改才可以。
我们只是在父类的基础上加上了“s”
这时候我们就可以使用super关键字(super代表父类的对象)
上述的子类可以写为:
(调用父类的成员方法)
String hello() {
return super.sayhello()+"s";//在super这个父类对象中调用sayhello这个方法
}
(调用父类的构造方法,调用父类的属性)
public benign(){
super();
this.screen=super.screen;
}
一个类只能有一个父类。(java当中只能有一个,c可以)
子类不仅会覆盖父类的方法还会覆盖父类的属性。即使子类的属性与父类的同名,但任然属于子类独有的属性。