Java内省初探——字段与属性
来源:互联网 发布:dnf端口团队网盘 编辑:程序博客网 时间:2024/05/16 04:54
今天第一次解除Java内省机制,虽然没有什么即为深入的了解,但经过初步的学习后我将Java内省机制初步理解为对于Java代码的一种规范化管理机制。
下面一个具体代码作为实例进行解释:
//javaBeans练习,
public class Person {
private String name;//字段(此时该字段还不能够称之为属性)
private int age;//字段(此时该字段还不能够称之为属性)
private String password;//字段(此时该字段还不能够称之为属性)
public String getA(){
return null;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
上述代码中,Person这个类有着三个私有字段,name,age和password。有很多人都会说这三个玩意儿是属性,其实不然。一个字段只有在对它设了getXXX()或setXXX()方法之后才能够称之为属性,而像上述代码中的getA()方法,虽然并没有声明出其私有字段A,但A确实是Person的一个属性。
那么,像上述类中,到底有几个属性呢??是三个,四个,七个??都不是,其实在Person类中有五个属性,大家一定会奇怪了,Person类明明只有三个字段呀,就算按照我刚才说的只要有get或set方法的就是一个属性,那最多也就四个属性呀,我这第五个属性是从那里蹦出来的呢??
俗话说:事实是检验真理的唯一标准,让我们看一下测试后的结果吧!
看看,上面的运行结果是不是有五个属性?大家一定会莫名奇妙了,为什么会莫名其妙多出了一个class属性出来呢??其实,大家都忽略了一个很重要也很基础的知识点,Java中Object类是所有类的父类,所有类都继承了Object的方法和字段。在Object类中,有一个getClass的方法,刚才说了,只要有get方法的字段就是属性,那么class自然也是属性了。
所以说,在Person类中除了它自己的属性之外,还继承了它父亲的属性class,共有五个属性。
- Java内省初探——字段与属性
- java——内省
- 内省—beanutils工具包 操作javabean属性
- 黑马程序员—JAVA内省
- java内省与反射
- Java反射与内省
- java反射与内省
- Java 反射与内省
- Java反射与内省
- Java反射与内省
- 黑马程序员—浅谈反射与内省
- java字段与属性的区别
- 黑马程序员——JAVA(反射,内省)
- Java面向对象——JavaBean内省
- Java面向对象——JavaBean内省
- JAVA加强——反射&内省
- Java高新技术——内省(JavaBean)
- java反射与内省(Introspector)
- OC学习之UITabBarController
- IOS开发之Quertz 2D绘图
- spoj 237
- SWING开发之JTextArea的的中文显示问题
- HttpApplication的认识与加深理解
- Java内省初探——字段与属性
- django 创建目录
- IOS触摸事件和手势
- mysql grant 权限分配
- Oracle sql injection
- HttpHandler的认识与加深理解
- CMurphi入门笔记(六)——规则,起始状态和不变式
- LeetCode-Implement strStr()
- UVALive 2031 Dance Dance Revolution