day3Java学习

权限修饰符

Java中4中修饰符分别为public、protect、default、private,他们这就说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高。
访问权限 类 包 子类 其他包

public     ∨   ∨   ∨    ∨

protect    ∨   ∨   ∨    ×

default    ∨   ∨   ×     ×

private    ∨   ×    ×     ×

美女选妃

import java.util.*;

public class BeautifulLeadies {
    //得到三个美女
    void getLeadies()
    {
        List<Integer> hights=new ArrayList<>() ;
        List<Integer> wights=new ArrayList<>() ;
        Scanner inout=new Scanner(System.in);
        for (int i=1;i<4;i++)
        {
            System.out.println("请输入第"+i+"美女身高");
            int h=inout.nextInt( );
            hights.add(h);
        }
        Scanner nout=new Scanner(System.in);
        for (int i=1;i<4;i++)
        {
            System.out.println("请输入第"+i+"美女体重");
            int h=nout.nextInt( );
           wights.add(h);
        }
        System.out.println(hights);
        System.out.println(wights);
       // Map<String,Integer> map=getHightwightavg(hights,wights);
       // int averageh= map.get("averageh");
        //int averagew= map.get("averagew");
        //System.out.println("平均身高"+averageh);
        //System.out.println("平均体重"+averagew);
        Map<String,Integer> map= getHightwightavg(hights,wights);
        for(int n=0;n<3;n++)
        System.out.println(fun2(hights.get(n),wights.get(n),n));
        Map<String,Integer> getHightwightavg=getHightwightavg(hights,wights);
        boolean result =getResult(getHightwightavg);
        if (result)
            System.out.println("都是美女");
        else
            System.out.println("不是美女");
}
    public  String fun2(int m,int n,int k){

        if (m>170&&n<55){
            return "第"+(k+1)+"位是美女";
        }else{
            return "第"+(k+1)+"位不是美女";
        }
    }
    public  boolean getResult(Map<String,Integer> map)
    {
        int avgh=map.get("averageh");
        int avgw=map.get("averagew");
        if(avgh>150&&avgw<60)
            return true;
        else
            return false;
    }
    //计算平均值
  //  Map<String,Integer> map=new HashMap<>();
    Map<String,Integer> getHightwightavg(List<Integer>hights,List<Integer>wights)
    {
        int sumH=0;
        int sumw=0;
        for(int h:hights){
            sumH=sumH+h;
        }
        for(int w:wights){
            sumw=sumw+w;
        }
       int averageh;
        int averagew;
        averageh=sumH/3;
        averagew=sumw/3;
        Map<String,Integer> map=new HashMap<>();
        map.put("averageh",averageh);
        map.put("averagew",averagew);
        System.out.println(map);
        return map;
    }
    public  static  void main(String[] args)  {
        BeautifulLeadies beautifulLadies=new BeautifulLeadies();
        beautifulLadies.getLeadies();
    }

}

效果呈现

在这里插入图片描述
在这里插入图片描述

 Scanner inout=new Scanner(System.in);
        for (int i=1;i<4;i++)
        {
            System.out.println("请输入第"+i+"美女身高");
            int h=inout.nextInt( );
            hights.add(h);
        }
        Scanner nout=new Scanner(System.in);
        for (int i=1;i<4;i++)
        {
            System.out.println("请输入第"+i+"美女体重");
            int h=nout.nextInt( );
           wights.add(h);
        }

这一段代码将固定的数值可以进行人为输入

继承(extends)

什么是继承?

继承是对现实生活中的"分类"概念的一种模拟。

狮子拥有动物的一切基本特性,但同时又拥有自己的独特的特性,这就是"继承"关系的重要特性:通常简称为"IS_A"关系,UML类图可以这么表示:
在这里插入图片描述
继承的语法

class 子类名 extends 父类名 {

……

}

注意:

父类(parent class)和超类(super class):通常指直接上级;

基类(base class):通常指包括直接上级在内的"上级的上级";

例如:

子类自动拥有父类声明为public和protected的成员,这就是继承特性的体现之一。

抽象(abstract)和接口(interface)

抽象类和抽象方法

有abstract修饰的类称为"抽象类",它只定义了什么方法应该存在,不能创建对象,必须派生出一个子类,并在子类中实现其未实现的方法之后,才能使用new关键字创建对象。
在方法前加上abstract就形成抽象方法,只有方法声明,没有实现代码。
示例:
一个抽象类中可以包含非抽象方法和成员变量。包含抽象方法的类一定是抽象类,但是抽象类中的方法不一定是抽象方法。
抽象类的三种"类型"

直接定义了一个抽象方法
继承了一个抽象父类,但没有完全实现父类包含的抽象方法
实现了一个接口,但没有完全实现此接口所包容的抽象方法。
注意:

从抽象类继承的子类必须实现父类的所有抽象方法,否则,它仍然是抽象类。
抽象类不能创建对象,一般用它来引用子类对象。
实例:
Person p;
p = new Employee();
以下模式总是成立的:
抽象类 抽象类变量 = new 派生自抽象类的具体子类();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值