本文共 1263 字,大约阅读时间需要 4 分钟。
类在三个基础特性是封装、继承、多态;今天要说的就是继承这个特性
首先在类的设计和使用过程中,有些属性和方法在之前的一个类中已经设定过,新的类无需再重复设定只需要继承之前那个类就可以获得之前的类的属性和方法
一、继承的关键字
extends是表明继承关系的关键字
class Animal{ String name; void shout(){ System.out.println("动物发出叫声,,,,"); }}class dog extends Animal{//这里的extends就是表明继承关系,Animal是父类,dog是子类; public void printlname(){ System.out.println("name="+name); }}public class Main { public static void main(String[] args) { dog dog1=new dog(); dog1.name="哈士奇"; dog1.printlname(); dog1.shout(); }}
这其中子类dog继承Animal之后自动获得Animal的属性name和方法shout,在上边的代码中就可以体现出来。
二、super关键字
在类的继承过程中有时候会遇到子类的属性或者方法与父类的属性或者方法同名的现象,在这种现象下通常子类的对象将无法访问父类的方法。super就解决了这种情况。
super关键字用于访问父类的成员,比如访问父类的属性、方法
代码为例:
class Animal{ String name="动物"; void shout(){ System.out.println("动物发出叫声,,,,"); }}class dog extends Animal{ String name="狗子"; public void printlname(){ System.out.println("name="+super.name);//此时使用super访问name,那么实际访问的将是父类中的name }}public class Main { public static void main(String[] args) { dog dog1=new dog(); dog1.printlname(); dog1.shout(); }}
使用super也可以调用父类的构造方法,
代码如下:
class Animal{ public Animal(String name){ System.out.println("这是一只智障的"+name); }}class dog extends Animal{ public dog(){ super("哈士奇"); }}public class Main { public static void main(String[] args) { dog dog1=new dog(); }}
转载地址:http://qkohn.baihongyu.com/