instanceof
用来在运行时指出对象是否是特定类的一个实例,instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
基本编程单元是类,基本存储单元
java的基本编程单元是类,基本存储单元是变量。
抽象方法定义
1. 首先,类的修饰符,都应该在class关键字之前,AB错;
2. 抽象方法不能有方法体,D错。
如果一个接口Cow有个方法drink(),有个类Calf实现接口Cow,则在类Calf中正确的是? ( )
- 子类重写父类方法时,方法的访问权限不能小于原访问权限
- 在接口中,方法的默认权限就是public,所以子类重写后只能是public
Math.floor(-8.5)=( )
- floor: 求小于参数的最大整数。返回double类型-----n. 地板,地面
例如:Math.floor(-4.2) = -5.0
-----------------------------------------------------------
- ceil: 求大于参数的最小整数。返回double类型-----vt. 装天花板;
例如:Math.ceil(5.6) = 6.0
-----------------------------------------------------------
- round: 对小数进行四舍五入后的结果。返回int类型
例如:Math.round(-4.6) = -5
子类父类问题
- 答案:P is init<br />123
属于被动引用不会出发子类初始化
- 子类引用父类的静态字段,只会触发子类的加载、父类的初始化,不会导致子类初始化
- 通过数组定义来引用类,不会触发此类的初始化
- 常量在编译阶段会进行常量优化,将常量存入调用类的常量池中, 本质上并没有直接引用到定义常量的类,因此不会触发定义常量的类的初始化。
What will happen when you attempt to compile and run the following code?
prints:3 静态语句块中x为局部变量,不影响静态变量x的值 x和y为静态变量,默认初始值为0,属于当前类,其值得改变会影响整个类运行。 java中自增操作非原子性的 main方法中执行x--后 x=-1 调用myMethod方法,x执行x++结果为-1(后++),但x=0,++x结果1,x=1 ,则y=0 x+y+ ++x,先执行x+y,结果为1,执行++x结果为2,得到最终结果为3
抽象类与接口
抽象类和接口类的无法实例化,任何编译器中直接使用new会报错。
A、java为单继承,多实现。可以实现多个接口。
B、接口允许定义成员,但必须是常量。
C、抽象类和接口类的无法实例化,任何编译器中直接使用new会报错。
D、同A,单继承,多实现。