zoukankan      html  css  js  c++  java
  • Java常见知识点(二)

    21.常量池专门用于管理在编译时被确定并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口中的常量,还包括字符串常量。
     
    22.String已经重写了Object的equals()方法,String的equals()方法判断两个字符串相等的标准是:只要两个字符串所包含的字符序列相同,通过equals()比较将返回true。否则将返回false。
     
    23.很多语言都不允许通过对象访问类变量,对象只能访问实例变量;类变量必须通过类来访问。Java中通过对象访问类变量知识一种假象,通过对象访问的依然是该类的类变量,可以这样理解:当通过对象来访问类变量时,系统会在底层换为通过该类来访问类变量。
     
    24.如果一个null对象访问实例成员(包括实例变量和实例方法),将会引发NullPointerException异常,因为null表明该实例根本不存在,既然实例不存在,那么它的实例变量和实例方法自然也不存在。但是null对象可以访问它所属类的类成员。
     
    25.与普通成员变量不同的是,final成员变量(包括实例变量和类变量)必须由程序员显式初始化,系统不会对final成员进行隐式初始化。
     
    26.final修饰符的一个重要用途就是定义“宏变量”。当定义final变量时就为该变量指定了初始值,而且该初始值可以在编译时就确定下来,那么这个final变量本质上就是一个“宏变量”,编译器会把程序中所有用到该变量的地方直接替换成该变量的值。
     
    27.抽象方法和空方法体的方法不是同一个概念。例如,public abstract void test();是一个抽象方法,它根本没有方法体,即方法定义后面没有一对花括号;但public void test(){};方法是一个普通方法,它已经定义了方法体,只是方法体为空,即它的方法体什么也不做,因此这个方法不可使用abstract来修饰。
     
    28.static和abstract并不是绝对互斥的,static和abstract虽然不能同事修饰某个方法,但它们可以同时修饰内部类。abstract关键字修饰的方法必须被其子类重写才有意义,否则这个方法将永远不会有方法体,因此abstract方法不能定义private访问权限,即private和abstract不能同时修饰方法。
     
    29.实现接口方法时,必须使用public访问控制修饰符,因为接口里的方法都是public的,而子类(相当于实现类)重写父类方法时访问权限只能更大或者相等,所以实现类实现接口里的方法时只能使用public访问权限。
     
    30.所谓设计模式,就是对经常出现的软件设计问题的成熟解决方案。很多人把设计模式想象成非常高深的概念,实际上设计模式仅仅是对特定问题的一种惯性思维。
  • 相关阅读:
    AtCoder ABC154 F
    题解 LA4390
    题解 LA4064
    题解 UVa11529
    【题解】洛谷 P6295 有标号 DAG 计数【生成函数 多项式】
    NOIP 2020 自闭记 暨 后期计划
    【CF246E】Blood Cousins Return【dsu on tree】
    【CF208E】Blood Cousins【dsu on tree】
    【CF570D】Tree Requests【dsu on tree】
    dsu on tree 学习笔记
  • 原文地址:https://www.cnblogs.com/wgl1995/p/8479307.html
Copyright © 2011-2022 走看看