Java面向对象(二)

1、构造方法

无参构造方法:

public 类名(){

}

有参构造方法:

public 类名(参数列表){

}

当没有定义构造方法时,系统会自动创建一个无参构造方法。当定义了一个有参的构造方法时,系统不会自动创建无参构造方法,此需要再重新定义无参构造方法。

构造方法的作用是在实例化对象时给对象的属性赋值。

package day7_19;

import java.util.Objects;

/**
 * author:sww
 * date:2022/7/19 8:42
 * 案例:2、定义一个汽车类(Car),属性有颜色color,品牌brand,车牌号number,价格price,并实例化(new)一个对象,给属性赋值,并输入属性值,然后输出
 */
public class Car {
    private String color;
    private String brand;
    private String number;
    private double price;

    public String getColor() {
        return color;
    }

    @Override
    public String toString() {
        return "Car{" +
                "color='" + color + '\'' +
                ", brand='" + brand + '\'' +
                ", number='" + number + '\'' +
                ", price=" + price +
                '}';
    }

    public Car() {
    }

    public Car(String color, String brand, String number, double price) {
        this.color = color;
        this.brand = brand;
        this.number = number;
        this.price = price;
    }

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

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public double getPrice() {
        return price;
    }

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

    public static void main(String[] args) {
        Car car = new Car("white","byd","66666",15);
        System.out.println(car);
        System.out.println(car.price);
    }
}

上面的

Car car = new Car("white","byd","66666",15);

这段代码就是创建了一个Car类型的对象,并且给对象的属性进行了赋值。

2、封装

现实中有很多东西都是封装的,比如一个排插,你不需要知道排插的内部有什么,有多么复杂,你只需要会使用它提供的几个插孔。这样做得好处是对排插本身和用户进行了保护。

什么是封装:隐藏实现细节,仅对外暴露公共的访问方式

封装的作用:提高代码的安全性和复用性

怎么实现封装:

1、使用 private 关键字来修饰成员变量。

2、使用public修饰getter和setter方法。

例如

public class Student {
    //1. private修饰成员变量
    private String name;
    private int age;
    //2. public修饰getter和setter方法【Alt+Insert】

    //name的getter和setter方法
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }


    public int getAge() {
        return age;
    }

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

当实例化一个Student对象时,无法使用引用.变量名的方法来访问它的成员变量,只能调用它提供的get set方法来访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值