谜题46

函数重载的问题。 JAVA重载解析过程:1. 选取全部可用的方法或者构造器;2. 从过程1中选取的方法或构造器中选择最精确的。 一般而言:能够强制要求编译器选择一个精确的重载版本号,将实參转型为形參所声明的类型。

谜题47

继承中静态域的问题。 静态域由声明它的类及其全部子类共享。 假设须要让每个子类都具有某个域的单独拷贝,必须在每个子类中声明一个单独的静态域。 假设每个实例都须要一个单独的拷贝,则能够在基类中声明一个非静态域。

谜题48

静态方法的问题。 对静态方法的调用不存在不论什么动态分配机制。静态方法是编译时刻选定的,依据修饰符编译期类型选定的。 静态方法不能被覆写,仅仅能被隐藏。 尽量使用类名来调用静态方法。 谜题49

 public class Elvis {    public static final Elvis INSTANCE = new Elvis();private final int beltSize;private static final int YEAR = Calendar.getInstance().get(Calendar.YEAR);private Elvis() {beltSize = YEAR - 1930;}public int beltSize() {return beltSize;}public static void main(String[] args) {System.out.println(INSTANCE.beltSize());}
}

初始化的问题。 final类型的静态域被初始化之前存在被读取的可能,此时该静态域仅仅是所属类型的缺省值。 final类型的域仅仅有在初始化表达式是常量表达式时,才是常量。 类的初始化循环有待进一步理解。

谜题50

instanceof的问题 当instanceof左操作数为null时,返回false。 当instanceof左右操作数都是类的时候,当中一个必须是还有一个的子类型,否则编译错误。 转型操作符的行为与instanceof同样,当转型操作的两种类型都是类时,必须当中一个是还有一个子类型。

谜题51

 class Point {protected final int x, y;private final String name;Point(int x, int y) {this.x = x;this.y = y;name = makeName(); // 3. 调用子类的方法。}protected String makeName() {return "[" + x + "," + y + "]";}public final String toString() {return name;}
}
public class ColorPoint extends Point{private final String color;ColorPoint(int x, int y, String color) {super(x, y); //2. 转向父类的构造函数。this.color = color; // 5. 初始化该属性。}protected String makeName() {//4.在子类的构造函数结束前运行。return super.makeName() + ":" + color;}public static void main(String[] args) {//1. 调用子类的构造函数。System.out.println(new ColorPoint(1, 2 , "red"));}
}

构造函数调用了子类覆写的方法。 实例初始化循环,能够採用惰性初始化。

谜题52

class Cache {    static {initializedIfNecessary();}private static int sum;public static int getSum() {initializedIfNecessary();return sum;}private static boolean initialized = false;private static synchronized void initializedIfNecessary() {if (! initialized) {for (int i = 0; i < 100; i++) {sum += i;}initialized = true;}}
}
public class Client {public static void main(String[] args) {System.out.println(Cache.getSum());}
}
同一时候使用了惰性初始化和积极初始化。 初始化顺序对结果的影响。 改动后的程序 class Cache {    private static final  int sum = computeSum();private static int computeSum() {int result = 0;for (int i = 0; i < 100; i++) {result += i;}return result;}public static int getSum() {return sum;}
}

谜题53

   讲述了私有构造器捕获惯使用方法。
<span style="font-size:18px;">class Thing {public Thing(int i) {System.out.println("Thing:" + i);}
}
public class MyThing extends Thing {@SuppressWarnings("unused")private final int arg;public MyThing() {this(1);//能够调用其它类的方法获取返回值。}private MyThing(int i) {super(i);arg = i;}
}</span>

谜题54

静态方法调用时,实例不起作用。静态方法是属于类的。

谜题55 java语言规范不同意一个本地变量声明语句作为一条语句在循环中反复运行。一个本地变量声明作为一条语句,仅仅能直接出如今一个语句块中(花括号里的)。 for (int i = 0; i < 10; i++)

String str = “123”;

这个编译不通过,改动正确为: for (int i = 0; i < 10; i++) {

Stirng str = “123”;

}

Java解惑:类之谜相关推荐

  1. JAVA解惑你的不可能

    谜题1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数.这个方法能够正确运转吗? public static boolean isOdd(int i){ return i % 2 == 1; ...

  2. Java 解惑(Java Puzzler)

    郑重声明 本文内容来源于<Java解惑>一书,不是本人所独创,请尊重原创作者的劳动成果和著作的知识版权.本文摘录原著内容,并做部分学习标记,仅作为自己的学习笔记 数值表达式篇 1. 奇偶判 ...

  3. Java解惑 电子书

    --表达式谜题 Java 谜题 1--表达式谜题 谜题 1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数.这个方法能够正确运转 吗? public static boolean isOdd( ...

  4. 解析Java横死之谜,气定神闲看花开花落

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 原创:小姐姐味道(微信公众号ID:xjjdog),欢 ...

  5. Java解惑你知多少

    特此声明:本系列内容来源于<JAVA解惑>一书,不是本人所独创,此系列内容应该说是该书的一个精简版,但内容含盖90%左右,摘录于此只是便于与大家共同分享,激起大家对Java基础的兴趣!我也 ...

  6. java字符存储_用java的类集框架做一个字符存储器(15)

    11.这是java的关于java的类集框架做一个字符存储器的源代码可以直接进行编译运行,希望大家能够从中获益良多. package niming; //导入ArrayList这个类 import ja ...

  7. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  8. 排名前 16 的 Java 工具类

    转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...

  9. Java枚举类使用方式

    Java枚举类使用方式 单枚举定义 : /*** * @title: 单枚举定义* @author: wll* @since: 2021-1-27 14:47:54*/ public enum Jud ...

  10. java流类图结构_java I/O 流总结

    一.java 流操作有关的类和接口: 类                                                                          说明 Fil ...

最新文章

  1. g++代码编译用选项-O3前后对比,前后执行时间对比如下
  2. iOS Safari 中click点击事件失效的解决办法
  3. 【迁移学习】隐私保护下的迁移算法
  4. oracle系统user$,Oracle 系统变量函数介绍
  5. ffmpeg解码流程 turorial5详解
  6. leetcode1045. 买下所有产品的客户(SQL)
  7. mysql在rpm安装方式下查看随机生成密码命令
  8. python 列表中dict中key排序
  9. bootstrap 导航菜单 折叠位置_下拉菜单的讲究
  10. openssl 升级到OpenSSL 1.0.1g 修复HEARTBEATS漏洞
  11. 亿阳防火墙-命令行指令参考手册
  12. (ensp)华为USG6000v防火墙简单配置
  13. 2018BDWF大数据世界论坛主题内容公布!
  14. 惠群计算机科技,电脑报专访:探索新视角,再造多元化的宏碁
  15. linux配置mac地址命令是什么,Linux环境下如何配置IP地址、MAC地址
  16. 伪装成mysql的备_如何伪装成一个服务端开发(六) -- 数据库操作
  17. 5分钟了解什么是OpenXR
  18. docker安装kong和konga并简单使用
  19. 自然语言推理入门:ESIM
  20. 目标检测相关论文和代码资源汇总

热门文章

  1. 计算机毕业设计Python+django的火车票售票系统(源码+系统+mysql数据库+Lw文档)
  2. “能说会道”的Word
  3. 对哈密顿回路问题的求解方法
  4. 利用Websocket实现网页调用打印功能
  5. 【详讲】微信小程序分包流程步骤
  6. 【微信公众号模板消息First,Remark字段不显示】
  7. Linux定时任务每10分钟运行一次
  8. 导出到word文档--带有表格
  9. pytorch:contiguous()
  10. 查看mysql5.7初始密码_MySQL5.7初始密码查看及重置