5.4.2 使用访问控制符
来源:互联网 发布:数据结构出栈算法 编辑:程序博客网 时间:2024/06/05 01:58
Java提供了三个访问控制符:private、protected和public
private(当前类访问权限)
很显然,这个访问控制符用于修饰成员变量最合适,使用它来修饰成员变量就可以把成员变量隐藏在该类的内部。
default(包访问权限)
protected(子类访问权限)
public(公共访问权限)
外部类只能有两种访问控制级别:public和默认,外部类不能使用private和protected修饰,因为外部类没有处于任何类的内部,也就没有其所在类的内部、所在类的子类两个范围,因此private和protected访问控制符对外部类没有意义。
package chap5_3;public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { if (name.length() > 6 || name.length() < 2) { System.out.println("您设置的人名不符合要求"); return; } else { this.name = name; } } public int getAge() { return age; } public void setAge(int age) { if (age > 100 || age < 0) { System.out.println("您设置的年龄不合法"); return; } else { this.age = age; } }}
package chap5_3;public class PersonTest1 { public static void main(String[] args) { Person p=new Person(); p.setAge(1000); System.out.println("未能设置age成员变量时:"+p.getAge()); p.setAge(30); System.out.println("成功设置age成员变量后:"+p.getAge()); p.setName("李刚"); System.out.println("成功设置name成员变量后:"+p.getName()); }}
运行结果
您设置的年龄不合法未能设置age成员变量时:0成功设置age成员变量后:30成功设置name成员变量后:李刚
Java中某个类里包含了一个名为abc的实例变量,则其对应的setter和getter方法名应为setAbc()和getAbc()。JavaBean总是一个封装良好的类。
使用setter方法从而保证Person类的name和age两个实例变量不会出现与实际不符的情况。
进行程序设计时,应尽量避免一个模块直接操作和访问另一个模块的数据,模块设计追求高内聚,低耦合。
例如外部设备(主机板)只能通过内存条的金手指(提供一些方法供外部调用)来和内存条进行交互。
有些方法只用于辅助实现该类的其他方法,这些方法被称为工具方法,工具方法也应该使用private修饰。
如果某个类主要用作其他类的父类,该类里包含的大部分方法可能仅希望被其子类重写,而不向被外界直接调用,则应该使用protected修饰这些方法。
0 0
- 5.4.2 使用访问控制符
- java-访问控制符的使用
- 构造方法使用private访问控制符
- 使用访问控制符,实现封装
- 使用Cookie控制访问授权
- java 访问控制符
- java 访问控制符
- 访问控制符
- java 访问控制符
- 访问控制符
- 访问控制符 区别
- java访问控制符
- java 访问控制符
- 访问控制符
- PHP访问控制符
- 对象、访问控制符
- 访问控制符
- 访问控制符
- 接口(interface)
- Web开发技术的演变
- eXtremeDB SQL Transaction Rellease
- 【瞎搞】 ZOJ 3180 Number Game
- VS2012中使用OpenCV-3.0.0的动态链接库和静态链接库
- 5.4.2 使用访问控制符
- android
- 黑马程序员_arc编译特性和block数据类型,protocol协议
- hdu 1213 How Many Tables(并查集的简单应用)
- Windows进程间通信的各种方法
- BookShop项目开发的一个小结
- 习题2—17
- 为什么选择PostgreSQL而不是MySQL
- JSP 9大内置对象(三)