Java day11 小结

Java day11 小结

查漏补缺:
1.常用类:
Object类
System类
Scanner类
String日期类
Date类StringBuffer类
日历类:Calendar
Integer类 ----->int类型的包装类类型

2.文档说明书(API:Application Programing Interface :应用程序接口)
可查做参考: 百度AI :百度人工智能 语音识别 /人脸识别
百度地图: 地图定位里面api文档
阿里数据库连接池:德鲁伊 druid
阿里大于: 短信验证码(输入手机号码---->发送短信验证码)
微信二维码
微信/支付宝支付操作
微信小程序---->微信官方平台 开发文档

今日小结:
一.方法重写:指子类继承父类的方法一样
二.Final状态修饰符 (终态,最终的,无法更改的)
1)特点访问特点: 成员变量:不能被赋值
成员方法:不能被重写
修饰类:不能被继承
2)多态的前提条件是什么?
1.必须有继承
2.必须有重写
注:1.常量分为 字面值常量 和 自定义常量(final)
2.final一定要在构造初始化完成前初始化 (指定义了没赋值.需在构造完成前赋值)
3.静态final应用格式:public static final 数据类型 变量名 = 初始化值

三.多态
1)多态的前提条件:
1.必须有继承
2.必须有重写
3.必须有父类引用指的子类对象

2))多态的 弊端 以及 如何解决弊端问题?
弊端: 无法访问子类特有功能
解决: 1.直接在测试类中加子类的创建
2.向下转型(强制类型转换)

3)多态的好处: 1.提高代码的维护性(继承的保证)
2.提高了代码的拓展性(多态的保证)
Eg:class Staff{
//成员变量私有化
private String name;
private int number;
private int salary;
//构造
//无参构造
public Staff(){}
//有参构造及setxx/getxx
public Staff(String name ,int number,int salary){
this.name=name;
this.number=number;
this.salary=salary;
}
public void setName(String name){
this.name=name;
}
public void setNumber(int number){
this.number=number;
}
public void setSalary(int salary){
this.salary=salary;
}
public String getName(){
return name;
}
public int getNumber(){
return number;
}
public int getSalary(){
return salary;
}
//属性
public void Salary(){
System.out.println(“奖金”);
}

}
//员工类
class Staff1 extends Staff{
//无参构造
public Staff1(){}
//有参构造
public Staff1(String name,int number,int salary){
super(name,number,salary);
}
//重写方法
public void Salary(){
System.out.println(“奖金一千元”);
}
//特殊方法
public void show(){
System.out.println(“我是员工”);
}
}
//经理类
class Manager extends Staff{
//无参构造
public Manager(){}
//有参构造
public Manager(String name,int number,int salary){
super(name,number,salary);
}
//重写方法
public void Salary(){
System.out.println(“奖金一万元”);
}
//特殊方法
public void show(){
System.out.println(“我是经理”);
}

}
//奖金类 (多态拓展性的表现)
class MoneyAwardTool{
private MoneyAwardTool(){}
public static void MoneyAward(Staff a){
a.Salary();
}
}
//测试类
class Demo{
public static void main(String[]args){
//多态版测试(员工)
Staff s = new Staff1();
s.setName(“张三”);
s.setNumber(16);
s.setSalary(800);
System.out.println(“姓名:”+s.getName()+“编号:”+s.getNumber()+“工资:”+s.getSalary());
//向下转型
Staff1 s1 = (Staff1)s;
s1.show();
//奖金工具类
MoneyAwardTool.MoneyAward(s1);
System.out.println("--------------------------------------");
//多态版测试(经理)
Staff s0 = new Manager();
s0.setName(“王凡”);
s0.setNumber(1);
s0.setSalary(10000);
System.out.println(“姓名:”+s0.getName()+“编号:”+s0.getNumber()+“工资:”+s0.getSalary());
//向下转型
Manager m = (Manager)s0;
m.show();
//奖金工具类
MoneyAwardTool.MoneyAward(m);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值