零碎知识点

  1. new对象时初始化顺序:父类静态代码块->子类静态代码块->普通属性->父类构造代码块->父类构造函数->子类构造代码块->子类构造函数。

  2. 抽象类与普通类差不多,允许有抽象方法。
    接口不允许有静态代码块。可以有非抽象的方法,比如default方法和静态方法。接口中只有常量定义,没有变量声明,修饰默认public static final。方法默认修饰public abstarct。

  3. abstract不能与final并列修饰同一个类。
    abstract 不能与private、static、final或native并列修饰同一个方法。

  4. 程序设计语言中,数组元素在内存中是一个接着一个线性存放的,通过第一个元素就能访问随后的元素,这样的数组称之为“真数组”。实现了真数组为Java语言健壮性的特点之一。

  5. 通常,当我们说 this 的时候,都是指“这个对象”或者“当前对象”。而且它本身会产生当前对象的一个句柄(即引用)。

  6. 构造方法this super所调用的构造方法必须放在第一行,且只能引用一个构造方法。

  7. static修饰的变量或方法类似与全局变量或方法。static只能调用静态方法或静态变量。
    static可以修饰修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。
    (1)内部静态类实例化对象:StaticInnerClass staticInnerClass = new StaticInnerClass();
    (2)内部非静态类实例化对象:InnerClass innerClass = new Test().new InnerClass();
    static是不允许用来修饰局部变量。
    静态语句块只能访问定义在静态语句块之前的变量,定义在之后的变量,只能进行赋值,不能访问。

  8. java 尽自己的全力保证所有变量都能在使用前得到正确的初始化。若一个方法的局部变量没有初始化,就会编译出错。将基本类型设为一个类的数据成员则会自动给一个初值。

  9. static 初始化只有在必要的时候才会进行。且只初始化一次。

  10. 定义数组时必须指明它的行数。如int a[3][ ]

  11. java类访问级别


    java类访问级别.png
  12. final修饰基本属性时,该属性是不可变的,修饰对象时,引用不可改变,但其内容是可以改变的。
    final修饰方法参数时时,我们不能改变自变量引用指向的东西。
    使用 final 方法为方法“上锁”,防止任何继承类改变它的本来含义。设计程序时,若希望一个方法的行为在继承期间保持不变,而且不可被覆盖或改写,就可以采取这种做法。
    final修饰的类不可被继承。

  13. 子类有父类的同名private,不属于继承而来的方法。

  14. 方法的重写规则
    方法名、参数列表、返回值必须完全与被重写方法的相同;
    访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。(子类范围要小)
    声明为final的方法不能被重写。构造方法不能被重写。
    声明为static或者子类不能访问到的父类方法不能被重写,但是能够被再次声明。
    重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。(子类范围要小)

  15. 重载规则
    被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
    被重载的方法可以改变返回类型、访问修饰符、声明新的或更广的检查异常;
    方法能够在同一个类中或者在一个子类中被重载。
    无法以返回值类型作为重载函数的区分标准。

  16. 类是单继承的,接口是多继承的。

  17. 内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。

  18. java.lang.Integer.equals():两个对象对应的值一致则返回true。
    java.lang.String.equals():两个字符串对应的值一致则返回true。
    java.lang.Object.equals():两个对象的引用是否一致,即两个的对象是否是同一个则返回true。

  19. Integer和String的hashCode()方法都是根据具体的value值来计算hashCode,那么尽管两个引用不同但是值相同的对象,依然是相等的。object则不相等。
    tips: 建议只要重写equals,就必须重写hashCode;

  20. 方法的继承:除了私有的方法,其他方法都可以继承。
    方法的重写:子类重写父类中的方法,方法名不变,参数类型列表不变返回值类型可以不变,或者是父类型的返回值类型的子类型修饰词可以不变,也可以变的修改范围更大。
    构造器:不能被继承,但是子类的构造器中一定会有一个构造器调用了父类的构造器。在子类构造器的首行首句使用super。

  21. 函数式接口只包含一个抽象方法,默认方法不是抽象方法,可含有多个默认方法。
    一个类只能继承一个抽象类,但一个类可以实现多个接口。
    一个抽象类可以通过实例变量保存一个通用状态,而接口是不能有实例变量的。
    一个类的默认方法使用相同的函数签名继承自多个接口时,遵守下面三条准则即可解决所有冲突:
    (1)首先,类或父类显示声明的方法,其优先级高于所有方法。
    (2)若第一条无法判断,则选择最具体实现的默认方法的接口,如类A实现了B、C两个接口,B、C都有a()方法,且B继承了C,则选择B的默认方法。
    (3)若上面两条均无法解决,则应显示指定使用那个方法,如类A实现了B、C两个接口,B、C都有a()方法,可使用B.super.a()显式指定使用B的方法。

  22. Optional没有实现Serializable接口,所以无法序列化。
    不推荐使用基础类型的Optional(OptionalInt、OptionalLong、OptionalDouble),因为它们不支持map、flatMap、filter方法。


    Optional方法.png
  23. 一个 try-with-resources 语句可以像普通的 try 语句那样有 catch 和 finally 块。在try-with-resources 语句中, 任意的 catch 或者 finally 块都是在声明的资源被关闭以后才运行。

  24. java类文件中的属性、方法、以及类中的常量信息都被分别存储在.class文件中。


    java编译.png
按需加载流程图 .png
  1. JAVA反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,修改它的任意属性;这种动态获取的信息以及动态调用对象成员的功能称为java语言的反射机制。

  2. Field、Method以及Constructor的父类AccessibleObject提供一个方法:setAccessible(boolean flag),该方法用于设置访问对象的accessible标志,当该标志为true时,反射的对象在使用时取消java语言访问检查,此时我们就可顺利使用反射对象了。

  3. 类装载器是用来把类(class)装载进 JVM 的。

  4. Class对象的创建只能在JVM完成。

  5. 实例方法被覆盖 静态方法被隐藏。
    若子类存在和父类同名的静态方法hello(),则Father f = new Son(); f.hello();调用的是父类的hello方法。

  6. 静态方法和最终方法 带关键字 final 的方法不能被覆盖。

  7. 访问那些被覆盖方法的唯一途径 就是使用 super 关键字。

  8. 两个数值进行二元操作时,会有如下的转换操作:
    如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。
    否则,如果其中一个操作数是float类型,另一个将会转换为float类型。
    否则,如果其中一个操作数是long类型,另一个会转换为long类型。
    否则,两个操作数都转换为int类型。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容