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.抽象类和接口的区别:
抽象类要被子类继承,接口要被类实现;接口只能做方法说明,抽象类中可以做方法说明,也可以做方法实现;接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量;接口是是设计的结果,抽象类是重构的结果;抽象类和接口都是用来抽象具体对象的,但是解耦的抽象级别更高;抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。

内部类

  1. 内部类可以访问外部类的私有成员
  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修饰

posted @ 2021-06-09 00:03  别来无恙。。  阅读(44)  评论(0)    收藏  举报