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
* 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
相关文章推荐
- Java基础(极客)——12、Java面向对象基本特征:继承
- java基础之面向对象及其基本特征
- java基础2 面向对象三等基本特征,五大基本特性
- java基础--1.基本语法 - 8.面向对象前奏
- Java面向对象基本特征
- Java面向对象基本特征:继承
- Java基础(极客)——09、Java面向对象中类与对象的概念和使用
- Java基础(极客)——11、Java面向对象中引用的传递
- Java基础(极客)——13、Java面向对象-抽象类与接口
- Java基础(极客)——15、Java面向对象多态性
- Java基础(极客)——19、Java面向对象之泛型(补充)
- java面向对象基础 封装性
- java基础--10.面向对象
- JAVA基础之面向对象特征:继承
- Java 基础入门随笔(7) JavaSE版——面向对象定义、特征:封装、构造函数
- Java基础学习14(面向对象特征二:继承性)
- Java基础知识:面向对象-基本概念
- java面向对象基本特征:封装、继承、多态
- Java基础——对象和类1(面向对象基本概念)
- 第三讲 Java的面向对象特征(继续基础部分......)