首页 > 编程语言 >JAVA 学习笔记(五)

JAVA 学习笔记(五)

时间:2023-02-17 12:56:14浏览次数:30  
标签:salary JAVA name weight double 笔记 height 学习 public


   子类通过方法的重写机制可以隐藏继承父类的方法, 把父类的状态和行为改变为子类自己的状态和行为. 假如父类中有一个方法myMethod(),一旦子类重写了超类的方法myMethod() ,就隐藏了继承的方法 . 子类对象在调用方法 myMethod()时,运行结果一定是重写了方法体的实现结果. 重写方法既可以操作继承的成员变量和继承的成员方法 ,也可以操作子类新增加的成员变量和新增加的成员方法 ,但无法操作被子类隐藏的成员变量和成员方法 . 如果子类想操作被隐藏的成员变量和成员方法 ,就必须在子类的方法中调用并且使用super.  

public class Test3_18 {

public static void main(String[] args) {
// TODO Auto-generated method stub
AnotherEmployee first = new AnotherEmployee("John",177,73.8d,4000,2016,10,20) ;
System.out.println("员工信息\t姓名\t身高\t体重\t月薪\t入职时间");
System.out.println("员工信\t"+first.getName()+"\t"+first.getHeight()+"\t"+first.getWeight()+"\t"+first.getSalary()+"\t"+first.getHireDay());
AnotherManager mfirst =new AnotherManager("Jerry",187,80.8d,8000,2006,7,20) ;
mfirst.setBonus(10000) ;
System.out.println("经理信息\t姓名\t身高\t体重\t月薪\t入职时间\t奖金");
System.out.println("经理信息\t"+mfirst.getName()+"\t"+mfirst.getHeight()+"\t"+mfirst.getWeight()+"\t"+mfirst.getSalary()+"\t"+mfirst.getHireDay()+"\t"+mfirst.getBonus());

}

}
// 

public class AnotherPeople {
private String name ;
private double height ,weight ;
public AnotherPeople() {
name = "" ;
height = 170 ;
weight =70 ;
}
public AnotherPeople(String name ,double height ,double weight ) {
this.name = name ;
this.height = height ;
this.weight = weight ;
}
public void setName(String name ) {
this.name = name ;
}
public void setHeight(double height) {
this.height = height ;
}
public void setWweight(double weight) {
this.weight = weight ;
}
public String getName() {
return this.name ;
}
public double getHeight() {
return this.height ;
}
public double getWeight() {
return this.weight ;
}

}
package cn.com.site2;
import java.util.*;
public class AnotherEmployee extends AnotherPeople{
private double salary ; // 子类增加的薪水
private Date hireDay ; // 增加了雇佣时间
public AnotherEmployee() {
// 无参无操作
}
public AnotherEmployee(String name ,double height , double weight ,double salary ,int year , int month ,int day ) {
super(name,height,weight) ;
this.salary = salary ;
GregorianCalendar calendar = new GregorianCalendar(year ,month-1,day) ;
hireDay = calendar.getTime();

}
public void setSalary(double salary) {
this.salary = salary ;
}
public void setHireDay(int year ,int month ,int day ) {
GregorianCalendar calendar = new GregorianCalendar(year ,month-1,day) ;
hireDay = calendar.getTime() ;
}
public double getSalary() {
return this.salary ;
}
public Date getHireDay() {
return this.hireDay ;
}
public void raiseSalary(double byPercent) { // 增加了加薪的方法
double raise = salary*byPercent /100 ;
salary +=raise ;
}
}

 

public class AnotherManager extends AnotherEmployee{
private double bonus ; // 增加了奖金
public AnotherManager() {

}
public AnotherManager(String name , double height , double weight ,double salary , int year , int month ,int day ) {
super(name ,height ,weight,salary,year,month,day) ;
bonus = 0 ;
}
public void setBonus(double bonus) {
this.bonus = bonus ;
}
public double getBonus() {
double baseSalary = super.getSalary();
return bonus+baseSalary ;
}

}

输出 : 

员工信息  姓名  身高  体重  月薪  入职时间
员工信 John 177.0 73.8 4000.0 Thu Oct 20 00:00:00 CST 2016
经理信息 姓名 身高 体重 月薪 入职时间 奖金
经理信息 Jerry 187.0 80.8 8000.0 Thu Jul 20 00:00:00 CST 2006 18000.0

 

标签:salary,JAVA,name,weight,double,笔记,height,学习,public
From: https://blog.51cto.com/u_15970235/6063949

相关文章

  • JAVA 抽象类
    抽象类 在java语言继承层次结构中,位于上层的类更具有通用性,甚至更加抽象,这些类封装的方法被重写的可能更大.java用关键字  abstract 格式为: [访问控制符]a......
  • 【博学谷学习记录】超强总结,用心分享 | 前端开发 web APIs(四)
    WebAPIs-第4天进一步学习DOM相关知识,实现可交互的网页特效能够插入、删除和替换元素节点能够依据元素节点关系查找节点1日期对象掌握Date日期对象的使用,......
  • 找素数(java)
    什么是素数?质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。实际案例比如我们想找出1-1000......
  • 2023-02-Java面试经历
    2022年12月中旬不幸被裁,拿N+1撤了,临近过年在家休息了一个月,元宵节之前从山西返杭的,2月7号开始投简历,谈谈最近面试的经历吧,期望能在2月底3月初左右入职吧....................
  • 多项式相关算法学习笔记(持续更新)
    第一次用博客园写学习笔记,写的不好请见谅~欢迎各位OIer在评论区说一下自己对这篇博客的建议!有关多项式的基本概念对于求和式\(\suma_nx^n\),如果是有限项相加,称为多项......
  • 1.1 Java介绍
    1.1Java介绍Java之父:詹姆斯·高斯林(JamesGosling)。Java三大平台:JavaSE:Java语言的(标准版),用于桌面应用的开发,是其他两个版本的基础。JavaME:Java语言的(小型版......
  • 下载JDK8 用Java写了hello world
     跟着b站上狂神说Java自己学的,因为感觉他的视频有一个完整清晰的体系,然后评价很好 一.下载和安装  1.下载  百度进JavaDownloads|Oracle中国直接注册下载......
  • Java 面向对象
    一、什么是面向对象面向对象编程:OOP,Object-OrientedProgramming。本质:以类的方式组织代码,以对象的形式组织(封装)数据。抽象三大特性:封装、继承、多态二、类与......
  • Java流程控制
    流程控制用户交互Scanner(java5新特性)通过Scanner类来获取用户的输入基本语法:Scanners=newScannner(System.in);方法:next()获取输入字符串nextLine()获取......
  • Java-
    mvnpackage-DskipTests报错:[INFO]BUILDFAILURE[INFO]------------------------------------------------------------------------[INFO]Totaltime:5.311s[INF......