public class Person {
    private String name;
    private int age;
    public Person(){//无参构造方法
        
    }
    public Person(String name){//构造方法二:初始化姓名
        this.name=name;
    }
    public Person(int age){//构造方法三:初始化年龄
        this.age=age;
    }
    public Person(String name,int age){//构造方法四:初始化姓名和年龄
        this.name=name;
        this.age=age;
    }
    public String getName(){//获取姓名
        return name;
    }
    public String setName(String name){//设置姓名
        return name;
    }
    public String getAge(){//获取年龄
        return name;
    }
    public void setAge(int age){//设置年龄
        if(age<0){
            this.age=0;
        }else{
            this.age=age;
        }
    }
    //打印信息
    public void printMessage(){
        System.out.println("姓名:"+name+"  年龄:"+age);
    }
    //模拟过了一年,年龄加一
    public void addAge(){
        age++;
    }
//  public static void main(String[] args) {
//      // TODO Auto-generated method stub
//
//  }

}

1)该类包含几个属性?2几个构造方法?4几个成员方法?6
2)属性、构造方法、成员方法的访问权限修饰符分别是什么?
this,类名,
3)什么是方法的重载?此程序,哪几个方法构成了重载?
Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法
无参方法,方法二,方法三,方法四
4)为什么要提供getXXX和setXXX方法?


public class TestPerson {

    public static void main(String[] args) {
        //创对象1
        Person p1 = new Person("小明",18);
        p1.addAge();
        p1.printMessage();
        //创对象2
        Person p2 = new Person("小红");
        p2.setAge(20);
        p2.addAge();
        p2.printMessage();
        //创对象3
        Person p3 = new Person("小北",100);
        p3.addAge();
        p3.printMessage();
    }
}

1)创建对象时,将自动调用什么方法?
2)以上程序创建了三个对象,分别调用的是哪个构造方法?
3)创建对象三时,没有传递参数,请问如何初始化对象呢?请添加初始化对象的代码。
4)我想要统计这三个对象中,有多少是成年人(年龄大于等于18岁)并输出人数。请添加相应代码。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  1. 编写“电费管理类”及其测试类。
     第一步 编写“电费管理”类
    1)私有属性:上月电表读数、本月电表读数
    2)构造方法:无参、2个参数
    3)成员方法:getXXX()方法、setXXX()方法
    4)成员方法:显示上月、本月电表读数
     第二步 编写测试类
    1)创建对象一:上月电表读数为1000,本月电表读数为1200。
    要求:调用无参构造方法创建对象;
    调用setXXX()方法初始化对象;
    假设每度电的价格为1.2元,计算并显示本月电费。
    2)创建对象二:上月电表读数1200,本月电表读数为1450。
    要求:调用2个参数的构造方法创建并初始化对象;
    调用setXXX()方法修改本月电表读数为1500(模拟读错了需修改);
    假设每度电的价格为1.2元,计算并显示本月电费。

public class dfgl {
    private int beforeMoth;
    private int newMoth;
    public dfgl(){//无参构造方法
        
    }
    public dfgl(int beforeMoth,int newMoth){//两个参数构造方法
        this.beforeMoth=beforeMoth;
        this.newMoth=newMoth;   
    }
    public int getbeforeMoth(){//获取上月读表
        return beforeMoth;
    }
    public int setbeforeMoth(int beforeMoth){//设置上月读表
        return beforeMoth;
    }
    public int getnewMoth(){//获取本月读表
        return newMoth;
    }
    public int setnewMoth(int newMoth){//设置本月读表
        return newMoth;
    }    
    public void printMessage(){
        System.out.println("上月:"+beforeMoth+"  本月:"+newMoth);
    }

}
public class Testdfgl {
    

    public static void main(String[] args) {
        float m;
        //创对象1
        dfgl p1 = new dfgl();
        p1.setbeforeMoth(1000);
        p1.setnewMoth(1200);
        p1.printMessage();
        
        System.out.println("本月电费:"+m);
        //创对象2
        Person p2 = new Person("小红");
        p2.setAge(20);
        p2.addAge();
        p2.printMessage();
        //创对象3
        Person p3 = new Person("小北",100);
        p3.addAge();
        p3.printMessage();
        }
}


扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄