这一题中外部类是Outer。外部类不能直接使用内部类的成员变量和方法,需要内部类的对象来访问他的成员变量和方法。所以该题只是new了一个外部类,内部类无法访问,所以没有输出。
wait后进入等待锁定池,只有针对此对象发出notify或者notifyAll方法后 当前线程不会直接释放该对象锁,wait所在的线程不能马上获得到该对象锁,要等到程序退出synchronized代码块后,当前线程才会释放锁,wait所在的线程才能获取到该对象锁。
- SDK 软件开发工具包
- JDK java开发工具包
- JRE java运行环境 加载代码 校验代码 执行代码
- JVM java虚拟机 负责把.class二进制文件翻译成不同操作系统上的机器操作指令
- SDK > JDK > JRE > JVM
在java中float类型后面要加f 省略默认就是double类型
这里AB是因为连方法名称都不相同,所以不能作为重载方法
D选项没有返回值类型,编译时会报错
重写与重载:重写是子类对于父类的,方法名称返回值值以及参数类型都必须相同,而重载是在同类方法名称相同,其他的不同都叫重载
list可以有重复元素,set不可以,所以set只允许有一个null元素,而list可以有多个。
集合的长度可以动态调整,数组不行,数组定义时就规范好了。
接口中不能有普通成员变量,如果要有变量必须是public static final类型
抽象类是可以有成员变量和构造方法的,抽象类里面可以有抽象方法可以没有,继承抽象类的非抽象类必须重写所有的方法。接口可以被多继承。
子类可以继承父类的public和protected成员变量和成员方法,不只是public
abstract方法,只允许在abstract类声明不允许实现,不允许使用final和abstract同时修饰一个方法或者类,也不允许使用static修饰abstract方法,也就是说abstract方法是实例方法
多线程中start方法,是将线程的状态改变成为就绪状态,不会立即执行,run方法是立即执行任务