zoukankan      html  css  js  c++  java
  • 继承的定义与使用

     1 class Person{
     2     private String name;
     3     private int age;
     4     private String school; 
     5     public void setName(String name){
     6         this.name=name;
     7     }
     8     public String getName(){
     9         return this.name;
    10     }
    11     public void setAge(int age){
    12         this.age=age;
    13     }
    14     public int getAge(){
    15         return this.age;
    16     }
    17     public void setSchool(String school){
    18         this.school=school;
    19     }
    20     public String getSchool(){
    21         return this.school;
    22     }
    23 }
    24 class Student extends Person{//定一个子类
    25     private String school;//扩充新属性
    26     public void setSchool(String school){
    27         this.school=school;
    28     }
    29     public String getSchool(){
    30         return this.school;
    31     }
    32 }
    33 public class Newbegin{
    34     public static void main(String args[]) {
    35         Student stu=new Student();//实例化子类
    36         stu.setName("聊天");//此方法student类没有定义
    37         stu.setAge(6);
    38         stu.setSchool("家里蹲大学");
    39         System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge()+",学校:"+stu.getSchool());
    40     }
    41 }

    继承一个类,并且可以实现方法的扩充

    继承的限制

    1.子类对象在进行实例化前一定先实例化父类对象,默认调用父类的构造方法后,在调用子类的构造方法;(有父才有子)

    2.java中只允许单继承不允许多继承,可以使用多层继承。

    Java不允许多重继承,当允许多层继承

    3.在进行继承的时候子类会继承父类的所有结构,但是这个时候我们要注意的是,所有非私有操作属于显示继承(直接调用),所有私有操作属于隐式继承(通过其他形式调用,set,get)

     1 class Person{
     2     private String name;
     3     public void setName(String name){
     4         this.name=name;
     5     }
     6     public String getName(){
     7         return this.name;
     8     }
     9 }
    10 class Student extends Person{//定一个子类
    11     public void fun(){
    12         System.out.println(getName());
    13     }
    14 }
    15 public class Newbegin{
    16     public static void main(String args[]) {
    17         Student stu=new Student();
    18         stu.setName("张三");
    19         System.out.println(stu.getName());
    20         stu.fun();
    21     }
    22 }

    总结:

    1.继承的语法和目的

    2.子类对象的实例化流程,先父后子

    3.继承的限制:不允许多重继承,当允许多层继承

  • 相关阅读:
    bzoj-2748 2748: [HAOI2012]音量调节(dp)
    bzoj-2338 2338: [HNOI2011]数矩形(计算几何)
    bzoj-3444 3444: 最后的晚餐(组合数学)
    codeforces 709E E. Centroids(树形dp)
    codeforces 709D D. Recover the String(构造)
    codeforces 709C C. Letters Cyclic Shift(贪心)
    codeforces 709B B. Checkpoints(水题)
    codeforces 709A A. Juicer(水题)
    Repeat Number
    hdu 1003 Max Sum (动态规划)
  • 原文地址:https://www.cnblogs.com/Tony98/p/10395879.html
Copyright © 2011-2022 走看看