04 java类的继承和静态公有成员

在c++里,类的继承有public, protected, private三种继承方式。
写法,  如在现有的类A基础上扩展出类B :
class B : public A {

};

而java没有这三种继承方式的写法,只有:
class B extends A { //父类成员权限的变化就是相当于C++里的public继承方式

}


在c++里,一个类可以有多个父类,即在多个类的基础上扩展出一个新的类.
在java里, 一个类只可以有唯一一个父类.


当父类的构造函数需要传参数时:

/*  c++写法 */
class Animal {
    public Animal(int age) {
        cout << "animal init " << age << endl;
    }
};

class Human : public Animal {
public:
     Human(int age) : Animal(age) //在子类的构造函数体后加上":"直接调用父类的构造函数并传参数
     {
        //
     }
};

/* java的写法 */
class Animal {
    public Animal(int age) {
        System.out.println("animal init " + age);
    }
}

class Human extends Animal {
    public Human(int age) {
        super(age); //super(...)就是调用父类的构造函数,而且这一句必须写在构造函数的第一行
    }
}

在java里不仅可以调用父类的构造函数,也可以用于指定调用父类的属性成员或函数成员.
写法:
super.父类的属性成员名
super.父类的函数成员名()


在c++里,静态公有成员可以直接用”类名::成员名”的方式来调用.但需注意在静态公有函数成员里不能直接访问属性成员
如:

class Animal {
public:
    static void eat() {
        //
    }
};  
则可以: 
Animal::eat(); //调用方式  

在java里也可以有这样的成员,如:

class Animal {
    public static void eat() {
        System.out.println("animal eats");
    }
}

调用:
  Animal.eat() ; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值