继承的原则及实例

package c;
/*集成是采用已有类创建心类,实现代码复制的技术,由已知的类老创建新类
 * 新类成为已有类的子类或者派生类,而已有类称为父类超类或者基类,子类具有父类的特征,并对其进行修改或者扩充,用
 * extends表明继承关系
 * class Rose extends Flower{
 * }
 * Java中规定所有类都有父类,如果声明类时没有使用extends关键字指明继承关系,则系统默认该类父类为object类
 */

/*继承的原则:原则上,子类可以继承父类的构造方法外,子类可以继承父类的全部成员,但由于父类成员方法和成员变量访问权限
 * 的限制,造成父类的部分成员无法再子类中继承 如下:
 * (1)子类可以继承父类中声明为public和protected的成员
 * (2)如果父类和子类在同一个包中,则子类可以继承父类中默认修饰符修饰的成员
 * (3)子类不可以继承父类中声明private的成员
 * (4)子类不仅继承父类中直接声明的成员,父类继承于上一级的父类成员也可以被子类继承
 * 注意:父类中不能被继承的成员变量或者方法,子类可以通过父类中的公有成员方法或内部类间接调用
 */
class Sample3_11{
    public int t1=1;
    protected int t2=2;
    int t3=3;
    private int t4=4;
    public void pOne()
    {
        System.out.println("father public method");
    }
    public void pTwo()
    {
        System.out.println("t4="+t4);
        pThree();
    }
    private void pThree()
    {
        System.out.println("father private nrthod");
    }
}
public class jicheng extends Sample3_11{
public static void main(String args[]){
    jicheng s=new jicheng();
    System.out.println(s.t1);//父类public的成员
    System.out.println(s.t2);//父类protected的成员
    System.out.println(s.t3);//由默认的default修饰,子类父类在同一包中,则子类可以继承父类
    //System.out.println(s.t4) private不可继承
    s.pOne();
    //s.pthree();
    s.pTwo();//通过父类的公有成员方法间接调用父类私有的成员变量或者方法
    
}

}


package c;
//多次继承
class Grandpa{
    public int p1=10;
}
class Father extends Grandpa{
    public int p2=20;
}
public class jiCheng1 extends Father {
int p3=1;
    public static void main(String args[]){
    jiCheng1 son=new jiCheng1();
    System.out.println(son.p1);
    System.out.println(son.p2);
    System.out.println(son.p3);
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值