继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法
//继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有
extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go(){
//方法名不能与类名一样 必须要有返回类型
System.out.println("我是A类")
}
}
//定义一个B类来继承A类
class B extends A{
super();
//默认调用A的构造方法
//此时B类已经继承了A类的属性和方法
}
//继承减少程序员写的代码
//多态 Java最核心的特征
多态是指在对象中调用方法所有的类都有此方法并且会对此作出反应的叫做多态
//指在一个函数在不同的类中有不同的实现
//以下代码是复制别人博客里面的
public class Polymorphism{
public static void main(String[] args) {
//父类可以创建新的对象
//子类不可以创建父类
A b = new B();
b.fb();
}
}
class A {
public A(){
}
public void fa() {
System.out.println("CLASS A :Function fa Runing......");
}
public void fb() {
System.out.println("CLASS A :Function fb Runing......");
fa(); //由于fa()的方法在B中被重写 所以执行B类的发()
System.out.println("CLASS A :Function fb Stop......");
}
}
class B extends A {
public B(){
}
public void fa() {
System.out.println("CLASS B :Function fa Runing......");
}
public void fb() {
System.out.println("CLASS B :Function fb Runing......");
super.fb(); //super() 调用父类中的fb()方法
System.out.println("CLASS B :Function fb Stop......");
}
}
//运行结果为
/*
CLASS B :Function fb Runing......
CLASS A :Function fb Runing......
CLASS B :Function fa Runing......
CLASS A :Function fb Stop......
CLASS B :Function fb Stop......
*/