一.权限修饰符
Java中的权限修饰符分为四种:public
,protected
,缺省
,private
可修饰对象 | 可用修饰符 |
---|---|
外部类 | public和缺省 |
成员变量、成员方法等 | public,protected,缺省,private |
实际在IDEA开发工具中写代码时,如果修饰符使用不合理导致不能使用,IDEA会做出相应提示。
二.继承
2.1 继承的好处
- 继承的出现减少了代码冗余,提高了代码的复用性
- 继承的出现,更有利于功能的扩展
- 继承的出现让类与类之间产生了
is-a
的关系,为多态的使用提供了前提。继承描述事物之间的所属关系,这种关系是:is-a
的关系。可见,父类更通用、更一般,子类更具体
注意:不要仅为了获取其他类中某个功能而去继承!
2.2 继承的细节说明
- 子类会继承父类所有的
实例变量和实例方法
(其他的不会继承) - 子类虽会继承父类私有的成员变量,但子类不能对继承的私有成员变量直接进行访问,可通过继承的get/set方法进行访问
- 在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”
2.3 方法重写
- 子类重写的方法
必须
和父类被重写的方法具有相同的方法名称
、参数列表
- 子类重写的方法的返回值类型
不能大于
父类被重写的方法的返回值类型。注意:如果返回值类型是基本数据类型和void,那么必须是相同的 - 子类重写的方法使用的访问权限
不能小于
父类被重写的方法的访问权限。注意:父类私有方法不能重写 - 子类方法抛出的异常
不能大于
父类被重写方法的异常
三.Object类
3.1 equals()
==
既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,对于引用类型就是比较内存地址- equals()是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是==。String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点,具体要看自定义类里有没有重写Object的equals方法来判断
- 通常情况下,重写equals方法,会比较类中的相应属性是否都相等
3.2 toString()
- 默认情况下,toString()返回的是
对象的运行时类型 @ 对象的hashCode值的十六进制形式
- 在进行String与其它类型数据的连接操作时,自动调用toString()方法
Date now=new Date();
System.out.println(“now=”+now); //相当于
System.out.println(“now=”+now.toString());
- 如果直接
System.out.println(对象)
,默认会自动调用这个对象的toString()
- 可以根据需要在用户自定义类型中重写toString()方法。如String 类重写了toString()方法,返回字符串的值。
s1="hello";
System.out.println(s1);//相当于System.out.println(s1.toString());