说到extends 关键字就不得不说java里面的继承的思想了,继承是java的核心思想,也是面向对象的核心,是实现复杂软件成功的基础。今天就来深入的理解下继承。所谓的继承就是子类继承了父类或者是基类的属性和方法。
首先来看看extends关键字的使用。
首先我们来看看计算机和平板电脑的继承关系说说java里面的继承吧.还是来看看下面的例子吧.
代码比较简单,直接来看看.
computer.class
package oop2;
public class Computer {
String screen="液晶显示器";
void startup() {
System.out.println("计算机正在开机,请你稍等");
}
}
package oop2;
public class pad extends Computer{
public static void main(String[] args) {
pad pad1=new pad();
System.out.println(pad1.screen);
pad1.startup();
}
}
从输出的结果可以看出,pad类什么都没定义,但是还是输出了显示屏的特性和开机的方法,这既是extends关键字的作用了。
那是因为子类继承了父类的属性和方法。
但是子类可以拥有父类没有的属性和方法。
代码如下:
package oop2;
public class pad extends Computer{
String battery="5000mA";
void open3G() {
System.out.println("正在打开3G上网");
}
public static void main(String[] args) {
pad pad1=new pad();
System.out.println(pad1.screen);
pad1.startup();
System.out.println(pad1.battery);
pad1.open3G();
}
}
子类可以独有自己的属性和方法,当然子类还可以重写父类的属性和方法。在上面的代码里面,子类拥有电池属性和打开3G网络的方法是父类没由的。输出的结果如下;
package oop2;
public class Computer {
String screen="液晶显示器";
void startup() {
System.out.println("计算机正在开机,请你稍等");
}
}
package oop2;
public class pad extends Computer{
String battery="5000mA";
void open3G() {
System.out.println("正在打开3G上网");
}
public static void main(String[] args) {
pad pad1=new pad();
System.out.println(pad1.screen);
pad1.startup();
System.out.println(pad1.battery);
pad1.open3G();
}
}
液晶显示器
计算机正在开机,请你稍等
5000mA
正在打开3G上网
子类可以继承父类的属性和方法,但是子类还可以拥有自己独有的属性和方法,当然,子类还可以重写父类的方法。在调用的时候,首先会调用子类的方法,然后在调用父类的方法,如果重写父类的方法,那么子类的方法就可以覆盖了父类相同的方法。即使这么一个原则.
方法的重写非常的简单,就这就不会多做介绍了。