Effective Java 类和接口 14.在公有类中使用访问方法而非公有域
来源:互联网 发布:淘宝直播如何开通 编辑:程序博客网 时间:2024/06/05 15:46
一位学习C语言(那种C语言不太清楚)的同事问我,为什么类.属性可以解决的事情,为什么要get与set方法,当时我懵了。如下:
class Point{ public double x; public double y;}
调用:
Point p=new Point(); p.x=10; p.y=20; double x=p.x; double y=p.y;
上述的方法没毛病啊,那我还用什么get,set。但是这完全不符合java的面向对象的特性,没有提供封装(encapsulation)功能。这也是java语言跟c语言(那种C语言不太清楚)的区别。
上面的类应改由私有域(私有的属性)和共有的访问方法(getter)的类来代替,对于可变的类,用包含私有域和共有设值方法(setter)的类代替。
class Point{ private double x; private double y; public Point(double x,double y){ this.x=x; this.y=y; } public double getX(){return x;} public double getY(return y;) public void setX(double x){this.x=x;} public void setY(double y){this.y=y;}}
总之,公有类永远都不应该暴露可变的域。
阅读全文
1 0
- Effective Java 类和接口 14.在公有类中使用访问方法而非公有域
- Effective Java 第14条:在公有类中使用访问方法而非公有域
- effective java(14) 之在公有类中使用访问方法而非公有域
- Effective Java之在公有类中使用访问方法而非公有域(十四)
- 《Effective java》读书记录-第14条-在公有类中使用访问方法而非公有域
- Effective Java(使类和成员的可访问性最小化、在公有类中使用访问方法而非公有域)
- 在公有类中使用访问访问方法而非公有域
- 第14条:在公有类中使用访问方法而非直接使用公有域
- 第14条:在公有类中使用访问方法而非公有域
- 第14条:在公有类中使用访问方法而非公有域。
- 在公有类中使用访问方法而非公有域
- EffectiveJava(14)在公有类中使用访问方法而非公有域
- 在公有类中使用访问方法而非公有域
- ( 14 ) : 在公有类中使用访问方法而非公有域
- 在公有类中使用访问方法而非公有域。
- 学习effective java-14类和接口之在公有类中使用可访问的方法,而不是使用公有域
- Java学习笔记11:在公共类中使用访问方法而非公有域
- 测试 Java 类的非公有成员变量和方法
- Softmax回归
- 使用PhpMyAdmin远程可视化操作云服务器的MySQL数据库
- byte数组和long,int,short互相转换
- leetcode 190. Reverse Bits
- c++探究(三)指针
- Effective Java 类和接口 14.在公有类中使用访问方法而非公有域
- Android:res之shape制作圆角、虚线、渐变
- 深度学习时代的目标检测算法综述
- C++map的初始化
- C++中virtual(虚函数)的用法
- 朴素贝叶斯(Naive Bayes)
- SID和Application session 含义
- 【推荐】Springboot使用velocity模板引擎
- 221. Maximal Square