java 继承的总结

/**
 * 用户
 * @author Administrator
 * @date 2018/1/30 0030
 */
public class Person {
    String idCard;

    String name;

    char sex;

    public Person() {
    }

    public Person(String idCard, String name, char sex) {
        this.idCard = idCard;
        this.name = name;
        this.sex = sex;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }



    @Override
    public String toString() {
        return "Person{" +
                "idCard='" + idCard + '\'' +
                ", name='" + name + '\'' +
                ", sex=" + sex +
                '}';
    }



}
/**
 * 学生继承(extends)父类Person:子类继承父类非private的属性和方法,主要实现代码的复用
 * 继承后,子类如何调用父类中的方法:
 * super.方法名()调用父类方法 super(); 调用父类的无参构造方法 super(参数); 调用父类的有参构造方法 super.属性名:访问或者设置父类属性
 * 调用子类无参构造方法时,会默认调用父类无参构造方法,如果显示调用父类的某个构造方法,就先调用父类的对应的构造方法
 * final修饰的类不允许有子类,限制某个类没有子类,不允许被继承
 * final修饰成员变量:一定要初始化,而且值不能被修改,只能被赋值一次
 * final修饰形式参数
 * public final static 这里修饰是常量,不允许被修改
 * @author Administrator
 * @date 2018/1/30 0030
 */
public class Student extends Person {

    /**
     * final修饰成员变量:一定要初始化,而且值不能被修改,只能被赋值一次
     */
    public final int num = 22;

    String snumber;

    String classNo;


    public String getSnumber() {
        return snumber;
    }

    public void setSnumber(String snumber) {
        this.snumber = snumber;
    }

    public String getClassNo() {
        return classNo;
    }

    public void setClassNo(String classNo) {
        this.classNo = classNo;
    }

    public Student() {
        /*默认调用父类的无参构造方法*/
       /* super();*/
    }


    /**
     * 修饰形式参数:修饰的基本数据参数,一般用于绑定传入的实参的值,不允许被修改
     * 加入传入一个sex就会新创建一个地址
     * final修饰的对象类型,绑定的是对象的地址,对象内容可以改变
     * @param sex
     */
    public void test(final  char sex){
       /*sex = '男';*/
        this.sex = sex;

    }

    public void  test01(final  StringBuilder name){
        System.out.println(name);
        name.append("很不错");
        System.out.println(name);

    }


    /**
     * super
     * @return
     */
    @Override
    public String toString() {
        return "Student{" + super.toString()+
                "snumber='" + snumber + '\'' +
                ", classNo='" + classNo + '\'' +
                '}';
    }

    public static void main(String[] args) {
        Student student = new Student();
        student.setName("sss");
        student.test('女');
        StringBuilder builder = new StringBuilder("加油");
        student.test01(builder);
        System.out.println(student);

    }
}

你可能感兴趣的:(java,总结)