继承的基本原则是:
子类继承父类的所有成员变量(包括静态成员);
子类继承除父类构造方法外的所有成员方法(包括静态方法);
子类不能继承父类的构造方法,但在其构造方法中会隐含调用父类的默认构造方法。
一、基本知识
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怎么继承类的详细内容,更多请关注亿速云其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。