继承的基本原则是:
子类继承父类的所有成员变量(包括静态成员);
子类继承除父类构造方法外的所有成员方法(包括静态方法);
子类不能继承父类的构造方法,但在其构造方法中会隐含调用父类的默认构造方法。
一、基本知识
1、在Java语言中,实现类的继承使用extends关键字
格式如下:
[public] class SubClass extends SuperClass{
//类体的定义
}
2、被继承的类称为父类或超类或基类,而继承得到的类称为子类或派生类。
3、子类继承父类的状态(属性)和行为(方法),同时也可以有自己的特征。
二、关于继承的注意事项
1、子类继承父类中非private的成员变量和成员方法,同时,注意构造方法不能被子类继承。
2、定义类时若缺省extends关键字,则所定义的类为java.lang.Object类的直接子类。
在Java语言中,一切类都是Object类的直接或间接子类。
3、Java仅支持单重继承,即一个类至多只有一个直接父类。在Java中通过接口来实现多重继承。
4、父类中定义的private成员变量和方法不能被子类继承,因此在子类中不能直接使用。我们可以在父类中定义公共的访问方法和修改方法,子类可以通过这些方法来实现访问和修改。
三、举例说明
Person类
package com.baidu.czy;
public class Person {
//属性
private String name;
private int age;
//方法
public String getName() {
return name;
}
public int getAge() {
return age;
}
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void sayHello(){
System.out.println("My name is " + name);
}
}
Employee类
package com.baidu.czy;
public class Employee extends Person {
//属性
private double salary;
private String name;
//方法
public Employee(){
}
public Employee(String name, int age,double salary) {
//调用父类的构造方法
super(name, age);
this.salary = salary;
}
public double computeSalary(int hours,double rate){
double salary = hours * rate;
return this.salary + salary;
}
@Override
public void sayHello(){
//调用父类中被覆盖的方法
super.sayHello();
System.out.println("Hello,I am " + getName());
System.out.println("I am " + getAge());
System.out.println("My salary is " + salary);
}
}
EmployeeTest类
package com.baidu.czy.test;
import com.baidu.czy.Employee;
public class EmployeeTest {
public static void main(String[] args) {
Employee emp = new Employee("刘明",30,5000);
System.out.println("姓名= " + emp.getName());
System.out.println("年龄= " + emp.getAge());
//调用从父类继承的方法
emp.sayHello();
//调用子类中定义的方法
System.out.println(emp.computeSalary(10,50.0));
}
}
运行结果:
以上就是java怎么继承类的详细内容,更多请关注亿速云其它相关文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。