Java程序设计基础——构造方法的继承,Java的继承原则和访问控制

构造方法的继承

子类可以自然继承父类的普通成员变量和方法,也可以继承父类的构造方法,但构造方法的继承必须遵循以下原则:
1. 如果父类存在不含参数的构造方法,子类无需显示地调用就可以自然继承它,而且Java会自动地在子类的构造方法中加是对父类的构造方法的调用 ;
2. 如果子类的构造方法的第一条语句是this或super,则Java不再为它加上对父类构造方法的调用 ;
3. 对于父类中带参数的构造方法,子类可通过super(参数列表)的形式调用,但它不会被继承。

Java的继承原则和访问控制

子类自动继承父类所有的非私有成员变量与方法,但对父类的私有成员和方法不能直接访问;
如果一个类想要其它类访问其私有成员变量,可以提供相应的方法;
希望子类直接访问本类的成员变量,但不希望其它的类访问,可以用protected来修饰;
如果要防止类被继承,可以在类的前面加上final,则类不能被其它类继承。

示例:Work0330

源代码:

class Student
{
    String name = "张三";
    private String school;
    void setSchool(String s)
    {
        school = s;
    }
    String getSchool()
    {
        return school;
    }
    Student()  //父类不带参数的构造方法
    {
        System.out.println("姓名:" + name);
    }
    Student(int id)  //父类带参数的构造方法
    {
        System.out.println("学号:" + id);
    }
}
class UniversityStu extends Student
{
    UniversityStu()
    {
        //super();  //调用父类不带参数的构造方法
        super(123); // 调用父类带参数的构造方法
    }
}
public class zsy
{
    public static void main(String[] args)
    {
        UniversityStu zzz;
        zzz = new UniversityStu();
        zzz.setSchool("XTU");
        System.out.println("学校:" + zzz.getSchool());
    }
}

编译运行:

Work0330

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值