Java面向对象:封装性

来源:互联网 发布:淘宝卖家保证金怎么交 编辑:程序博客网 时间:2024/05/21 08:53

1 Java面向对象思想

1.1面向对象三大特征

(一)封装性:对外部不可见

(二)继承:扩展类的功能

(三)多态性:方法的重载,对象的多态性


2封装性

1. 类中并不是所有的信息都能让用户可见的,因此隐藏这些信息就很有必要。这就是面向对象对封装的要求。

2. 封装性的目的:保护当前类的某些属性和方法不被外部所见。

3. 封装性的实现:Java的封装是通过private修饰符来声明属性和方法实现的。

作用域

public

protected

default

private

当前类

同一包

 

子孙类

 

 

其他包

 

 

 

4. 实现该属性的get/set方法,为外部所访问。

5. 封装后的属性不能像以前一样通过“对象.属性”访问该属性了。通过对象调用对应的get/set方法。

6. 例:

package com.dzh.classdemo;

 

/**

 * private 对属性和方法进行封装

 *

 * @author Daisy

 *

 */

class Person {

private Stringname; //private修饰实现封装性

private char sex;

private int age;

 

// 通过get/set方法便于外部访问或修改这些属性

public String getName() {

return name;

}

 

public void setName(String name) {

this.name = name;

}

 

public char getSex() {

return sex;

}

 

public void setSex(char sex) {

this.sex = sex;

}

 

public int getAge() {

return age;

}

 

public void setAge(int age) {

if(age>=0){ //如果年龄小于0,年龄的值为默认值0

this.age = age;

}

}

public void print(){

System.out.println("姓名:"+getName()+",性别:"+getSex()+",年龄:"+getAge());//调用get方法获取属性的值

}

 

}

 

public class ClassDemo01 {

 

public static void main(String[] args) {

Person zhangsan = new Person();

zhangsan.setName("zhangsan");//调用set方法进行赋值

zhangsan.setSex('男');

zhangsan.setAge(-1);

zhangsan.print();

 

}

 

}

 

 

7. 匿名对象的使用:new Person().属性/方法;//适用于只使用一次的情况


0 0
原创粉丝点击