阶段性手记

package test0504;
//age私有(最小)化  防止不“合法(合常理的数值)”,类以外及时建立对象也不能直接访问
//但是人应该有年龄,就是在person类中提供对应访问age的方式
//一个私有属性对应两个方法(set   get)(麻烦&高级工具)
//私有仅仅是封装的一种表现形式   封装不是私有
//对外提供访问方式  可在访问方式中加逻辑判断
//对访问语句进行操作    提高代码健壮性
//一般需要隐藏
class person
{
    private int age;
    private String name;
    person()//构造函数   用于给对象初始化
    {
        System.out.println("naem: "+name+",,age: "+age);
        cry();
    }
    person(String n)
    {
        name=n;
        System.out.println("naem: "+name+",,age: "+age);
        cry();
    }
    person(String name , int a)
    {
        //this.name=name;//
        this(name);    //构造函数键调用   构造函数间互相调用  p(name)  this代表对象  必须是构造函数中的第一句   初始化动作要先执行  初始化中还有初始化  更细的初始化先执行
        age=a;       //以上不能用在一般函数间
        System.out.println("naem: "+name+",,age: "+age);
        cry();
    }
    //构造代码块
    {
        System.out.println("他们都会哭");//不同对象的共性
    }
    public void setage(int a)
    {
        if(a>0&&a<=130)
            age=a;
        else
            System.out.println("NOOOOOOOO   illegel age");
    }
    public int get()
    {
        return 0;
    }
    void speak()
    {
        System.out.println("age="+age);
    }
    public void cry()
    {

        System.out.println("Cry");
    }
    public boolean compare(person p)
    {//当定义类中的功能时,该函数内部要调用到该函数的对象时,用
        //this表示这个对象  但凡本类功能内部使用到本类对象
        return this.age==p.age; //代码简化   不必要用if语句.........
    }
}
class persondemo
{
    public static void main(String arr[])
    {
        /*person p=new person();
        p.setage(-11);
        p.speak();*/
        /*2person p1=new person();
        person p2=new person("haha");
        */
        person p3=new person("haha",20);

    }



}

总结:私有化 构造函数  隐藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值