java培训第三天打卡
今天先围绕权限修饰符展开
- private 私有
- Default (默认的) 只有包内的类才能被访问,所以有"包访问权限"的称呼 -->方法
- protected 不但包内的类可以访问,所以继承的子类也可以访问
- public 公有,都可以访问 例:public int leg;
他们都能修饰class
继承: public class Cat extends An{}
cat为子类 an为父类
抽象类: abstract 例:public abstract class An{}
可以有普通方法也可以有抽象方法
接口: interface implments
只可以有抽象方法
下面以Usb为例,来看看什么是接口
package zhongruan.service;
public interface Usb {
void getconnection();
void closeconnection();
}
接口可以直接引用到Computer
package zhongruan.service;
public class Computer implements Usb{
@Override
public void getconnection() {
System.out.println(“获得电脑的连接”);
}
@Override
public void closeconnection() {
System.out.println(“关闭电脑的连接”);
}
}
再来看看抽象类和继承,以people为例
package zhongruan.service;
public abstract class People {
abstract void say();
}
下面以china继承以上people属性
package zhongruan.service;
public class China extends People{
@Override
void say() {
System.out.println(“hello”);
}
}
好,前引完了,今天我们继续完善美女选妃案例,如和使用好接口使代码变得简洁明了呢
先建一个Lady类
package zhongruan.service;
public class Lady {
private int hight;
private int wight;
public int getHight() {
return hight;
}
public void setHight(int hight) {
this.hight = hight;
}
public int getWight() {
return wight;
}
public void setWight(int wight) {
this.wight = wight;
}
@Override
public String toString() {
return “Lady{” +
“hight=” + hight +
“, wight=” + wight +
‘}’;
}
}
这就是一个接口,以上的内容可以直接应用到bautifulladies
来看看修改以后的代码:
package zhongruan.service;
import java.util.*;
public class BautifulLadies {
//选10个美女 public private…(权限修饰符)
void getLadies() {
List ladies = new ArrayList<>();
Scanner input=new Scanner(System.in);
for(int i=0;i<4;i++){
Lady lady=new Lady();
System.out.println(“请输入第”+i+“个美女的身高”);
int h=input.nextInt();
lady.setHight(h);
System.out.println(“请输入第”+i+“个美女的体重”);
int w=input.nextInt();
lady.setWight(w);
ladies.add(lady);
}
System.out.println(ladies);
Map<String, Integer> hightWightAvg = getHightWightAvg(ladies);
System.out.println(hightWightAvg);
boolean result = getResult(hightWightAvg);
if (result) {
System.out.println(“是美女”);
} else {
System.out.println(“不是美女”);
}
}
//计算10个美女的平均身高和体重
Map<String, Integer> getHightWightAvg(Listladies) {
int sumH = 0;
int sumW = 0;
for (Lady lady: ladies) {
sumH = sumH +lady.getHight();
sumW = sumW +lady.getWight();
}
System.out.println(“sumH:” + sumH);
System.out.println(“sumW:” + sumW);
int avgH = sumH / 3;
int avgW = sumW / 3;
Map<String, Integer> map = new HashMap<>();
map.put(“avgH”, avgH);
map.put(“avgW”, avgW);
return map;
}
//判断平均身高》170 体重《60
boolean getResult(Map<String,Integer> map) {
int avgH = map.get(“avgH”);
int avgW = map.get(“avgW”);
if (avgH > 150 && avgW < 60) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
BautifulLadies BautifulLadies = new BautifulLadies();
BautifulLadies.getLadies();
}
}
这里关于美女的数据后来手动输入的,也就是她能够实现更高级一点的交互了,在上一个版本中,信息是手动add进去的,得到的是最后的结果。
今天over