面向对象--类的组成

类的组成:

成员变量,成员方法


今天又学习了一个新的成员:构造方法


改进一下我们之前写的类:

成员变量
构造方法
成员方法:
               根据有无返回值:
               1、没有返回值的成员方法
               2、有返回值的成员方法
               根据有无参数:
               1、无参的成员方法
               2、有参数的成员方法

程序示例

 

class Student2 {
    private String name;
    private int age;

    //无参构造方法
    Student2() {

    }

    //包含所有成员变量的参数的构造方法
    Student2(String name, int age) {
        this.name = name;
        this.age = age;
    }

    //公共的getXxx()方法和setXxx()方法
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }

    //无参无返回值的成员方法
    public void printHello() {
        System.out.println("HelloWorld");
    }

    //无参有返回值的成员方法
    public String getTianQi() {
        return "晴天";
    }

    //带参无返回值的成员方法
    public void sum(int a, int b) {
        System.out.println(a + b);
    }

    //带参有返回值的成员方法
    public String concat(String s1, String s2) {
        return s1 + s2;
    }

    //定义一个方法将所有的成员变量输出
    public void show() {
        System.out.println("姓名:" + name + ",年龄:" + age);
    }

}

public class StudentDemo {
    public static void main(String[] args) {
        //使用无参的构造方法创建对象
        Student2 s1 = new Student2();
        s1.show();
        //调用无参无返回值的成员方法
        s1.printHello();
        //调用无参有返回值的成员方法
        String tianqi = s1.getTianQi();
        System.out.println(tianqi);
        //调用带参有返回值的成员方法
        String s = s1.concat("数加科技","yyds");
        System.out.println(s);
        //调用带参无返回值的成员方法
        s1.sum(12,45);

        //使用带参的构造方法创建对象
        Student2 s2 = new Student2("陶华根",16);
        s2.show();

    }
}

 

例题

 

/*
        标准类代码3.0版本,一个标准的手机类
        分析:
            手机:
                属性:品牌,颜色,价格
                行为:打电话,发短信,学习
            类:
                成员变量:brand,color,price(使用private修饰)
                构造方法:无参构造方法,带参构造方法
                成员方法:setXxx()和getXxx()方法
                show():输出所有的成员变量

 */
public class Phone {
    //定义成员变量
    private String brand;
    private String color;
    private int price;

    //定义构造方法
    Phone() {

    }

    Phone(String brand, String color, int price) {
        this.brand = brand;
        this.color = color;
        this.price = price;
    }

    //定义公共的setXxx()和getXxx()
    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getColor() {
        return color;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public int getPrice() {
        return price;
    }

    //定义一个可以输出所有成员变量的方法
    public void show() {
        System.out.println("品牌:" + brand + ",颜色:" + color + ",价格:" + price);
    }
}

/*
        手机测试类:
            开发中最常用的是第二种方式,单个使用永远要比混合使用要灵活

*/
public class PhoneDemo {
    public static void main(String[] args) {
        //使用无参的构造方法创建对象,并使用setXxx()给成员变量进行赋值
        System.out.println("=======使用无参的构造方法创建对象,并使用setXxx()给成员变量进行赋值=======");
        Phone p1 = new Phone();
        System.out.println("未赋值前:");
        p1.show();
        p1.setBrand("华为");
        p1.setColor("黑色");
        p1.setPrice(4999);
        System.out.println("赋值后:");
        p1.show();
        System.out.println("================================================");
        System.out.println("=======使用带参数的构造方法创建对象,并使用getXxx()获取成员变量=======");
        Phone p2 = new Phone("锤子手机","白色",8888);
        String brand = p2.getBrand();
        String color = p2.getColor();
        int price = p2.getPrice();
        System.out.println("品牌["+brand+"]\t颜色["+color+"]\t价格["+price+"]");

    }
}

 

posted @ 2021-12-04 22:01  赤兔胭脂小吕布  阅读(67)  评论(0)    收藏  举报