JAVA-面向对象(二)-封装getset方法(有个问题是为什么属性是private,还是可以直接赋值啊)

package com.company;

public class Person {
    //c++是面向对象的
    //public private protect 一般用private 涉及到封装
    //一般会设置get set 方法
    private String name;
    private int age;
    void speak(){
        System.out.println(name+"在说话");
    };
    public void desp(){
        System.out.println(name+age);
    };

    //构造方法
    //注意这边一定要有双括号;
    public Person(){};
    public Person(String name,int age){
        this.name=name;
        this.age=age;
    };
    //使用get set 方法;


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age>120){
            System.out.println("你想好了再说");

        }else if(age>70&&age<=120){
            System.out.println("你真长寿");
            this.age=age;
        }else {
            System.out.println("你还年轻");
            this.age=age;
        }


    }

    //创建完人这个类以后,怎么创建这个类的对象;
    public static void main(String[] args) {
        //类_类型
        Person un3=new Person();
        //可以这样做,但是一般不这样做,用get set 方法
       un3.name="zhangsan";
       un3.age=12;
       un3.speak();
       un3.desp();
       un3.setAge(60);
       un3.desp();
       //通过set的方法就是材料审核通过了,才允许修改。通过方法去访问属性,将属性给封装起来。
       
        

    }
}