「java承接子类」子类继承接口
本篇文章给大家谈谈java承接子类,以及子类继承接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中子类重写继承的方法的规则是什么
1、重写规则之一:重写方法不能比被重写方法限制有更严格的访问级别。
2、重写规则之二:数列表必须与被重写方法的相同。重写有个孪生的弟弟叫重载,也就是后面要出场的。如果子类方法的参数与父类对应的方法不同,那么就是你认错人了,那是重载,不是重写。
3、重写规则之三:返回类型必须与被重写方法的返回类型相同。
4、重写规则之四:重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
JAVA中如何继承子类的子类如题:
Employee.java:
public abstract class Employee {
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private int age;
/**
* 社保号
*/
private String insurCode;
public Employee(String name, int age, String insurCode) {
this.name = name;
this.age = age;
this.insurCode = insurCode;
}
public abstract String getInfo();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getInsurCode() {
return insurCode;
}
public void setInsurCode(String insurCode) {
this.insurCode = insurCode;
}
}
================================
SalariedEmployee.java:
public class SalariedEmployee extends Employee {
/**
* 周薪
*/
private double weekSalary;
public SalariedEmployee(String name, int age, String insurCode, double weekSalary) {
super(name, age, insurCode);
this.weekSalary = weekSalary;
}
public String getInfo() {
StringBuffer sb = new StringBuffer();
sb.append("姓名:").append(getName()).append("\r\n");
sb.append("年龄:").append(getAge()).append("\r\n");
sb.append("社保号:").append(getInsurCode()).append("\r\n");
sb.append("周薪:").append(getWeekSalary());
return sb.toString();
}
public double getWeekSalary() {
return weekSalary;
}
public void setWeekSalary(double weekSalary) {
this.weekSalary = weekSalary;
}
}
===========================
HourlyEmployee.java:
public class HourlyEmployee extends Employee {
/**
* 基本工资
*/
private double basicSalary;
/**
* 工作小时数
*/
private int workHours;
public HourlyEmployee(String name, int age, String insurCode, double basicSalary, int workHours) {
super(name, age, insurCode);
this.basicSalary = basicSalary;
this.workHours = workHours;
}
public String getInfo() {
StringBuffer sb = new StringBuffer();
sb.append("姓名:").append(getName()).append("\r\n");
sb.append("年龄:").append(getAge()).append("\r\n");
sb.append("社保号:").append(getInsurCode()).append("\r\n");
sb.append("基本工资:").append(getBasicSalary()).append("\r\n");
sb.append("工作小时数:").append(getWorkHours());
return sb.toString();
}
public double getBasicSalary() {
return basicSalary;
}
public void setBasicSalary(double basicSalary) {
this.basicSalary = basicSalary;
}
public int getWorkHours() {
return workHours;
}
public void setWorkHours(int workHours) {
this.workHours = workHours;
}
}
=======================
CommissionEmployee.java:
public class CommissionEmployee extends SalariedEmployee {
/**
* 佣金率
*/
private double commissionRate;
/**
* 销售总额
*/
private double grossSales;
public CommissionEmployee(String name, int age, String insurCode, double weekSalary, double commissionRate, double grossSales) {
super(name, age, insurCode, weekSalary);
this.commissionRate = commissionRate;
this.grossSales = grossSales;
}
public String getInfo() {
StringBuffer sb = new StringBuffer(super.getInfo());
sb.append("\r\n");
sb.append("佣金率:").append(getCommissionRate()).append("\r\n");
sb.append("销售总额:").append(getGrossSales());
return sb.toString();
}
public double getCommissionRate() {
return commissionRate;
}
public void setCommissionRate(double commissionRate) {
this.commissionRate = commissionRate;
}
public double getGrossSales() {
return grossSales;
}
public void setGrossSales(double grossSales) {
this.grossSales = grossSales;
}
}
=========================
BasePlusCommissionEmployee.java:
public class BasePlusCommissionEmployee extends CommissionEmployee {
/**
* 基本工资
*/
private double basicSalary;
public BasePlusCommissionEmployee(String name, int age, String insurCode,
double weekSalary, double commissionRate, double grossSales, double basicSalary) {
super(name, age, insurCode, weekSalary, commissionRate, grossSales);
this.basicSalary = basicSalary;
}
public String getInfo() {
StringBuffer sb = new StringBuffer(super.getInfo());
sb.append("\r\n");
sb.append("基本工资:").append(getBasicSalary());
return sb.toString();
}
public double getBasicSalary() {
return basicSalary;
}
public void setBasicSalary(double basicSalary) {
this.basicSalary = basicSalary;
}
}
==============================
Test.java:
public class Test {
public static void main(String[] args) {
SalariedEmployee se = new SalariedEmployee("张三", 18, "00001", 1800);
System.out.println(se.getInfo());
System.out.println("===================");
HourlyEmployee he = new HourlyEmployee("李四", 22, "00002", 2000, 8);
System.out.println(he.getInfo());
System.out.println("===================");
CommissionEmployee ce = new CommissionEmployee("王五", 19, "00003", 700, 0.8, 9000);
System.out.println(ce.getInfo());
System.out.println("===================");
BasePlusCommissionEmployee bpce = new BasePlusCommissionEmployee("赵六", 35, "00004", 2300, 0.9, 18000, 3000);
System.out.println(bpce.getInfo());
}
}
==============================
输出:
姓名:张三
年龄:18
社保号:00001
周薪:1800.0
===================
姓名:李四
年龄:22
社保号:00002
基本工资:2000.0
工作小时数:8
===================
姓名:王五
年龄:19
社保号:00003
周薪:700.0
佣金率:0.8
销售总额:9000.0
===================
姓名:赵六
年龄:35
社保号:00004
周薪:2300.0
佣金率:0.9
销售总额:18000.0
基本工资:3000.0
java中什么叫子类?
java中子类的定义为在有继承关系的类中extends前面的类则是子类。
继承,是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于可以抽取多类事物的共性。
子类中有和父类中可访问(可继承到子类)的同名同返回类型同参数表的方法,就会覆盖从父类继承来的方法。
直接继承Object的类可以称之为Object的子类,间接继承Object的类可以称之为object的间接子类,object则是它的间接父类或者超类。
示例:
public class Parent{
}
public class Child extends Parent{
}
对Parent、Child来说有继承关系,则Parent是Child的父类,Child是Parent的子类。由于Parent、Child都默认继承Object类,所有Parent、Child都是Object的子类。
java的子类间能否相互继承或引用,怎么继承或引用?
子类之间不能相互继承和引用,一个类只能继承一个父类,就像一个孩子只能有1个爹,但是1个爹可以有多个孩子,孩子之间不存在引用,不能转换类型
关于java承接子类和子类继承接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。