标签:封装 String void print Test01 public cn
意义
我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用
便于调用者调用。
良好的封装,便于修改内部代码,提高可维护性。
良好的封装,可进行数据完整性检测,保证数据的有效性。
使用访问控制符,实现封装
|
同一个类 |
同一个包中 |
子类 |
所有类 |
private |
* |
|
|
|
default(即不加修饰符的时候) |
* |
* |
|
|
protected |
* |
* |
* |
|
public |
* |
* |
* |
* |
1.属性一般使用private.(除非本属性确定会让子类继承并且使用)
提供相应的get/set方法来访问相关属性. 这些方法通常是public,从而提供对属性的读取操作。 (注意:boolean变量的get方法是用:is开头!)
2.一些只用于本类的辅助性方法可以用private,希望其他类调用的方法用public。
package cn.bjsxt.oop.encapsulation01; public class Man { private String name; private String id; private boolean man; public static int cc; public static final int MAX_SPEED = 120; public String getName(){ return name; } public void setName(String name){ this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public boolean isMan() { return man; } public void setMan(boolean man) { this.man = man; } }
package cn.bjsxt.oop.encapsulation01; public class Test01 { private String str; protected void print(){ String s = str; System.out.println("Test01.print()"); } } class Test001 extends Test01 { public void pp(){ super.print(); } public static void main(String[] args) { Test01 t = new Test01(); t.print(); } } package cn.bjsxt.oop.encapsulation01; public class Test02 { public static void main(String[] args) { Test01 t = new Test01(); t.print(); } } package cn.bjsxt.oop.encapsulation02; import cn.bjsxt.oop.encapsulation01.Test01; public class Test0001 extends Test01 { public void ttt(){ super.print(); print(); } public static void main(String[] args) { Test0001 t = new Test0001(); t.print(); } } package cn.bjsxt.oop.encapsulation02; import cn.bjsxt.oop.encapsulation01.Test01; public class Test03 { public static void main(String[] args) { Test01 t = new Test01(); // t.print(); } }
标签:封装,String,void,print,Test01,public,cn 来源: https://www.cnblogs.com/zqy6666/p/12053694.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。