想要学懂JAVA就必须明白JAVA的几个特性
1、继承
2、封装
3、多态
首先是继承这个特性
JAVA继承的特性
继承概述
继承就是实现软件复用的重要的一个机制,就像生孩子一样。孩子生下来就要继承父母的一些特征,但JAVA的继承只具有单继承的特性就像一个孩子只能拥有一个母亲一样。
JAVA继承的实现
通过extends
关键字实现继承,实现继承的类就叫做子类(Subclass
),被继承的类就被称为父类(Superclass
),高端大气点就叫基类和超类。父类的和子类的关系就像水果和苹果的关系。苹果继承了水果的特性,所以苹果就是水果的子类。因为是父类和子类的关系, 父类的作用范围一定比子类大,就像权力发放一样。
代码实现
修饰符 class Sublass extends Superclass
{
//类定义部分
}
此段代码就实现了类的继承,只需要在原来定义的类(Subclass)
上增加extends
Superclass,这就表示了子类继承了Superclass。
extends 继承的由来
extends 这个单词原本翻译为扩展,那为什么说是继承呢?
子类是对父类的扩展,子类是一种特殊的父类。从这个意义上理解子类继承父类是错误的,子类扩展了父类,子类将获取父类的全部成员变量和方法,而在汉语中的继承(子辈从父辈那里获得一笔财富称为继承)这就可以解释了。但是子类不能从父类那获得构造器
。
//水果类
public class Fruit
{
public double weight;
public void info(){
System.out.println("我是一个水果!重"+weight+"g!");
}
}
下面定义该Fruit的子类Apple如下
public class Apple extends Fruit {
//苹果类
public static void main(String[]args) {
Apple a = new Apple();
a.weight = 56;
a.info();
}
}
我是一个水果!重56.0g!
Apple基本上是一个空类,但因为继承了Fruit,所以Apple对象可以访问该Apple类里面的weight变量和info方法。所以表示Apple实例对象也具有了weight变量和info方法。
上面就是基本的继承作用。
注意!!!
java继承不具有多继承的特性,只能拥有一个直接父类 如 class Apple extends Fruit{·············}
但是被继承的类也可以继承其他类 class Fruit extends Plant{··············}