zoukankan      html  css  js  c++  java
  • 继承

    继承:继承是面对对象的重要机制,该机制自动地为一个类提供另一个类的操作和数据,这使得程序员只需要在新类中定义已有类中没有的成分来建立新类。

    继承的定义:每个子类都只有一个父类,一个父类可以有多个子类,子类会继承父类的特性。这叫单继承,java只支持单继承。

    继承说明:由于子类不能直接调用父类中的private私有成员,所以子类把父类中的所有非私有成员全部继承,变成自己的。

    例如:如果父类中有5 个成员,其中私有成员有2 个,子类自己有2个成员,实际上子类已经有5个成员了。

    在定义子类中,他的父类由extends关键字指出,格式如下:

    类修饰符class类名extends父类{

    成员定义

    }

    ps:子类只能继承非私有的成员;如果没有extends并不代表他没有父类,是根,而是默认该类的父类是系统软件包中的java.lang.Object类。

    //定义一个人类,含姓名性别两个成员变量。定义一个学生类,从人类中继承下来,含班级。成绩两个成员变量和一个输出信息的成员方法。

    public class zhangqiang {
    public static void main(String []args)
    {
    Student stu=new Student();
    stu.setp("张强",'男');
    stu.sets("软件1班",89);
    stu.show();
    Person p=new Person();
    p.setp("李梅",'女');

    }
    }
    class Person{
    protected String name;
    protected char sex;
    void setp(String name,char sex){
    this.name=name;
    this.sex=sex;
    }
    }
    class Student extends Person{
    protected String grace;
    protected int g;
    void sets(String grace,int g){
    this.grace=grace;
    this.g=g;
    }
    void show(){
    System.out.println("姓名为"+name);
    System.out.println("性别为"+sex);
    System.out.println("年龄为"+g);
    System.out.println("班级为"+grace);
    }
    }

    子类对象可以访问自己和父类中的成员,而父类中的对象只能访问父类中非私有成员,不能访问子类中的成员。

    子类只能继承属性,不能继承属性的值。

    例如:

    public class A {
    int x1=10;
    int x2=20;
    private int x3=30;
    int getX3(){
    return x3;
    }
    }
    class B extends A{
    int y1=15;
    int y2=25;
    }

    //B类相当于

    public class B {
    int y1;
    int y2;
    B(int y1,int y2){
    this.y1=y1;
    this.y2=y2;
    }
    int x1;
    int x2;
    int getX3()
    {
    return x3;
    }
    }

     父类A中有四个成员(不包括构造)子类自己有2个成员,继承下来的有3个成员,实际上B有5 个成员。

  • 相关阅读:
    [Lydsy1706月赛]大根堆
    某考试 T1 Function
    [SHOI2016] 随机序列
    某考试 T1 至危警告
    某考试 T2 yja
    bzoj1880 [Sdoi2009]Elaxia的路线
    bzoj1804 [Ioi2007]Flood 洪水
    bzoj4546 codechef XRQRS
    bzoj4547 小奇的集合
    bzoj1443 [JSOI2009]游戏Game
  • 原文地址:https://www.cnblogs.com/Angella/p/6009736.html
Copyright © 2011-2022 走看看