5.8.1 使用继承的注意点
来源:互联网 发布:js当窗口大小变化 编辑:程序博客网 时间:2024/05/29 02:30
继承严重地破坏了父类的疯狂性。
设计父类通常应该遵循如下规则:
尽量隐藏父类的内部数据。尽量把父类的所有成员变量都设置成private访问类型,不要让子类直接访问父类的成员变量。
不要让子类可以随意访问、修改父类的方法。
但又不希望子类重写该方法,可以使用final修饰符,如果希望父类的某个方法被子类重写,但不希望被其他类自由访问,则可以使用protected来修饰该方法。
package chap5_7;class Base { public Base() { // TODO Auto-generated constructor stub test(); } public void test() { System.out.println("将被子类重写的方法"); }}public class Sub extends Base { private String name; @Override public void test() { // TODO Auto-generated method stub // super.test(); System.out.println("子类重写父类的方法," + "其name字符串长度" + name.length()); } public static void main(String[] args) { Sub s = new Sub(); }}
运行结果
Exception in thread "main" java.lang.NullPointerException at chap5_7.Sub.test(Sub.java:21) at chap5_7.Base.<init>(Sub.java:6) at chap5_7.Sub.<init>(Sub.java:14) at chap5_7.Sub.main(Sub.java:26)
此时Sub对象的name实例变量是null,因此将引发空指针异常。
从父类派生新的子类:
1.子类需要额外增加属性,而不仅仅是属性值的改变
2.子类需要增加自己独有的行为方式,包括增加新的方法或重写父类的方法。
0 0
- 5.8.1 使用继承的注意点
- 使用继承的注意点
- 使用继承的注意点
- 继承的一些注意点
- 类的继承 注意点
- JAVA 继承的注意点
- 多继承的访问注意点
- 迭代器使用的注意点
- 使用SqlDataReader的注意点
- 使用memset的注意点
- 使用Hive的注意点
- NSLocalNotification的使用注意点
- 使用Knockout的注意点
- goto 的使用注意点
- SimpleDateFormat 的使用注意点
- popupwindow的使用注意点
- 点语法的使用注意
- 多线程的使用注意点
- codeforces 527E Data Center Drama
- 黑马程序员——类与对象的关系
- linux 设置中文输入法
- 黑马程序员_日记22_JavaStringTrim练习
- 程序员掌中宝手册 适合it 手机白领 淘宝 物联网 芯片设计 cnoswinnnuixs 电脑维修人员(序言)
- 5.8.1 使用继承的注意点
- 经典必背---二叉树经典笔试面试题
- openCV学习笔记(5):使用sprintf函数实现在窗口连续显示同一文件夹下的图片
- asp.net缓存
- Android使用Activity用作弹出式对话框Dialog
- Spring整合Apache CXF
- 【HDU】 3416 Marriage Match IV(最大流+SPFA)
- Linux下配置ssh
- 详解优化Hibernate性能经验