Java基础(极客)——10、Java面向对象的基本特征之一:封装性

/**
 * 1、Java封装性的使用
 * 
 * 分装性:保护当前类的某些属性和方法不被外部所看见
 */

public class FenzhaungDemo1 {


    public static void main(String[] args) {
        //没有分装属性
        Person1 person = new Person1();
        person.name = "张三";
        person.age = 2;
        person.tell();
        //属性被分装后
        Person2 person2 = new Person2();
        person2.setName("aaa");
        person2.setAge(300);
        person2.tell();
    }


}


/**
 * 
 * 属性在没有分装的时候,能被外部调用和赋值
 *
 */
class Person1 {
    public String name; //属性在没有分装的时候,能被外部调用和赋值
    public int    age;


    public void tell() {
        System.out.println(name);
        System.out.println(age);


    }


}


/**    
 * 属性不能被被调用
 * 通过get set被暴漏在外面
 * 
 */
class Person2 {


    private String name;    //属性被private修饰后,不能被外部访问
    private int    age = 20;


    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 > 0 && age < 200) {


            this.age = age;
        } else {
            System.out.println("你输入的年龄有误,默认值是20");
        }
    }


    public void tell() {
        System.out.println(name);
        System.out.println(age);


    }


}


package com.zhh.java.mianxiangduixiang2;


/**
 * 2、java匿名对象的使用
 * 如果程序只使用一次该对象,那么就使用匿名对象
 */

public class NiMingDuiXing {


    public static void main(String[] args) {
        new People().tell();//这两个对象,重新分配了内存空间,所以不是同一对象
        new People().tell();


    }


}


class People {
    String name = "11";
    int    age  = 2;


    public void tell() {
        System.out.println(name);
        System.out.println(age);
    }


}




package com.zhh.java.mianxiangduixiang2;


/**
 * 3、java构造对象的使用
 *构造方法与类同名
 *没有返回值
 *调用 new 类名(); 
 *如果该类中没有构造方法,系统默认一个无参构造,如果有默认的将被覆盖
 *构造方法是用来实例化对象的
 *
 */

public class GouZaoFangFa {


    public static void main(String[] args) {
        new People3();
        new People3("zhang3").toString();


        new People3("张4", 11).toString();


    }


}


class People3 {
    String name;
    int    age;


    People3() {


    }


    People3(String name) {
        this.name = name;


    }


    People3(String name, int age) {
        this.name = name;
        this.age = age;
    }


    @Override
    public String toString() {
        System.out.println(name);
        System.out.println(age);


        return super.toString();
    }


}





源码下载:
http://download.csdn.net/detail/zhaihaohao1/8741715
视频下载:
http://c38.yunpan.360.cn/my/index/#%2F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%2Fjava%2F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值