首先作为一个标准的JavaBean类,我们要满足以下四个条件:
1、必须在包内,这个包不能是缺省包。(什么 是 缺省包? 即:默认包,例如:idea中的src)
2、必须申明为public类
3、必须具有一个无参的构造方法。(如果自定义了有参构造,就必须添加一个无参数构造)
4、所有属性一般申明为private,并编写相应的setter方法和getter方法进行读取。
除此之外,认识下类中成员的四个访问权限:
Private:类中限定为Private的成员,只能被这个类本身访问。
default:类中不加任何访问权限限定的成员属于默认的(default)访问状态:Friendly,可以被这个类本身和同一个包中的类所访问。
Protected:类中限定为Protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。
Public:类中限定为Public的成员,可以被所有的类访问。
谈到继承,子类对父类的访问权限如下:
* 子类能继承父类的哪些方法
* 构造方法:不能继承
* 成员变量:public+private都行
* 成员方法: public可以,private不行
认识下一个JavaBean类中toString()的作用:
首先我们知道,java中有自带的Object类,他拥有自己的成员方法toString()
我们从Idea软件中,看Object.java中toString()的源码如下
当我们System.out.print()一个对象的时候,实际上自动调用了toString(),返回的就是类名+@+hashCode,并不能具体输出我们创建的对象里的各个成员变量
这时候就需要我们重写toString,让我们输出对象的时候自动调用的toString()方法变成我们自己写的,比如下图:
输出结果:这才是我们想要的输出
除此之外呢,我们还经常看到toString()方法上面会有一个@Override的注解:
@Override 的作用是告诉编译器检查这个方法,保证父类要包含一个被该方法重写的方法,否则就会编译出错。这样可以帮助程序员避免一些低级错误。
比如:如果 toString() 不小心写成了 t0String(),那么程序会发生编译错误
当然如果代码中的方法前面不加 @Override 注解,即便是方法编辑错误了,编译器也不会有提示(当成正常的方法,而不是对toString的重写)。这时 Object 父类的 toString() 方法并没有被重写,将会引起程序出现 Bug。