继承

继承

关于继承的一些小知识点,摘自百度百科

继承 是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。 继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。

1、子类拥有父类的特征,而父类没有,父类更通用,子类更具体,(特征包括属性和方法,自身的特性,拥有父类没有的)

2、使用extends继承父类,语句格式:class 子类名 extends 父类名{}

3、父类中一般只定义一般属性和方法(这个一般可以理解为是子类共有的,这就是父类更通用,而子类拥有其他的,所以子类更具体)
  
4、子类中通过super关键字来调用父构造方法
  
5、在子类中可以继承父类得那些东西,哪些不可以继承父类中public,protected修饰的属性,方法可以继承,private修饰的属性和方法不能被继承

6、规则: 创建子类对象的时候,首先调用的是父类的无参构造方法创建一个父类对象

7、可以在子类中显示调用父类的有参构造方法

8、如果父类的属性均为private修饰,则可以通过共有的getter,setter方法来调用

格式

//java单继承:一个子类只能有一个父类
//子类:派生类
//父类:基类/超类
class 子类名称 extends 父类名称{
	子类内容
}

子类方法的访问权限》=父类
子类方法不能产生比父类方法更多的异常

例子

父类

public class Mother {
    private int money;
    float weight,height;
    String speak(String s){
        return s;
    }
    float getWeight(){
        return weight;
    }
    float getHeight(){
        return height;
    }
    String dance(){
        return "我会跳舞";
    }
}

子类

public class Daughter extends Mother {
        String cat;
        String sing(String s){
            return s;
        }

    @Override
    String dance(){
            return "我是小舞蹈演员";
        }
    }

继承

public class Example01 {
    public static void main(String[] args) {
        Daughter girl=new Daughter();
        girl.cat="漂亮的帽子";
        girl.weight=35.0f;
        girl.height=120.0f;
        System.out.println(girl.speak("我是女儿"));
        System.out.println(girl.speak("我想母亲一样会说话"));
        System.out.println(girl.speak("我重"+girl.weight+"公斤"));
        System.out.println("我比母亲多了一个"+girl.cat);
        System.out.println(girl.sing("我是女儿"));
        System.out.println(girl.dance());
    }
}

你可能感兴趣的:(Java)