zoukankan      html  css  js  c++  java
  • Java编程思想笔记(复用类)

          1.组合语法

          2.继承语法:但是在scrub()中,并不能直接调用scrub(),因为这样做将会产生递归。super关键字表示超类的意思,当前类就是从超类继承来的。super.scrub()将调用基类版本的scrub()方法

          2(1).初始化基类:带参数的构造器(如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用关键字super显示地编写调用基类构造器的语句,并且配以适当的参数列表)

          3.代理:可以看到上面的方法是如何传递给了底层的controls对象,而其接口由此也就与使用集成得到的接口相同了。我们使用代理时可以拥有更多的控制力,因为我们可以选择只提供在成员对象中的方法的某个子集。

          4.结合使用组合和继承:虽然编译器强制你去初始化基类,并且要求你要在构造器起始处就要这么做,但是它并不监督你必须将成员对象也初始化。

          4(1).确保正确清理

          4(2).名称屏蔽:@Override注解,它并不是关键字,但是可以把它当作关键字使用。当你想要覆写某个方法时,可以选择添加这个注释,在你不留心重载而并非覆写了该方法时,编译器就会生成一条错误消息。(子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。)

          5.在组合与继承之间选择

          6.protected关键字:1.“就用户名而言,这是private的,但对于任何继承于此类的导出类或其他任何位于同一个包内的类来说,它却是可以访问的”2.尽管可以创建protected域,但是最好的方法还是将域保持为private;你应当一直保留“更改底层实现”的权利。然后通过protected方法来控制类的继承者的访问权限。

          7.向上转型

          7(1).为什么称为向上转型

          7(2).再论组合与继承:我真的需要向上转型吗?

          8.final关键字

          8(1).final数据:常量 public static final int VALUE_THREE = 39; //编译常量的final static 基本类型全用大写字母命名,并且字与字之间用下划线隔开。   空白final:必须在域的定义处或者每个构造器中表达式对final进行赋值,这正是final域在使用前总是被初始化的原因所在。 final参数:Java允许在参数列表中以声明的方式将参数指明为final。这意味着你无法在方法中更改参数引用所指向的对象。

          8(2).final方法: final和private关键字

          8(3).final类:无法继承该类

          9.初始化及类的加载

          9(1).继承与初始化

  • 相关阅读:
    Oracle 数据库连接很慢,服务器监听一直等待
    Maven 根据不同的环境使用不同的配置
    Maven 根据不同的包路径打出不同的Jar包
    Linux 安装Nginx并支持SSL
    Nginx OpenSSL创建自签证书实现HTTP转HTTPS
    Oracle 服务突然中断处理(检查状态、重启)
    请求转发和重定向
    PHP PDO的简单封装(使用命名空间方式)
    PHP PDO学习小结
    MYSQL预处理机制
  • 原文地址:https://www.cnblogs.com/Zara/p/5763944.html
Copyright © 2011-2022 走看看