JAVA Day17
JAVA Day 17
instanceof关键字
Java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
抽象类

接口

package oop;
public interface A {
//接口里定义的变量只能是公共的静态的常量,定义的方法只能是抽象方法。
int method1(String name);
int method2(String name);
}
interface C{
void method3(String name);
}
//通过接口可以实现多继承
class B implements A,C{
@Override
public int method1(String name) {
return 0;
}
@Override
public int method2(String name) {
return 0;
}
@Override
public void method3(String name) {
}
}
ps:1.接口中是可以定义静态方法的,静态方法必须要有实现。且这个静态方法只能用public修饰或不写。接口就是提供一种统一的’协议’,而接口中的属性也属于’协议’中的成员.它们是公共的,静态的,最终的常量.相当于全局常量。
2.抽象类和接口的区别:
抽象类要被子类继承,接口要被类实现;接口只能做方法说明,抽象类中可以做方法说明,也可以做方法实现;接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量;接口是是设计的结果,抽象类是重构的结果;抽象类和接口都是用来抽象具体对象的,但是解耦的抽象级别更高;抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。
内部类

- 内部类可以访问外部类的私有成员
- 一个.java文件中可以有多个class,但只能有一个public class类
package oop;
//成员内部类例子
public class Outer {
private String idd = "110";
private void method01(){
}
class Inner{
public void getidd(){
System.out.println(idd);
}
}
}
public class test2 {
public static void main(String[] args) {
Outer outer =new Outer();
Outer.Inner inner = outer.new Inner();
inner.getidd();
}
}

ps:可以包含静态常量 final

ps:只有内部类可以使用static修饰


浙公网安备 33010602011771号