您的位置:首页 > 编程语言 > Java开发

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

2015-05-26 15:25 656 查看
/**

* 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: