第八天

instanceof(类型转换)引用数据
 
Object object=new student();
System.out,println(object instanceof student);//ture
System.out,println(object instanceof teacher);//false
System.out,println(object instanceof person);//ture
System.out,println(object instanceof Object);//ture
System.out,println(object instanceof String);//false
//如果两个类之间没有关系就会编译报错
//强制转换后可以使用相应的类方法
person a=new student();
student.go()//会报错必须进行转换后才能用
//转换 student b=(student)a;
b.go()//可以使用
 ==============================================
public class student extendsn person{
  public void go(){ System.out.println("go");
  }  
}
 
 
关于static
public class Student{
  private static int age;//静态变量
  private double score;//非静态变量
  public void run(){}
  public static void go(){}
  public static void main(String[] args){
    Student s1=new Student();
    System.out.println(student.age);
    System.out.println(student.score);//错误,不能这样使用
    System.out.println(s1.age);
    System.out.println(s1.score);
    new Student().run();//不能直接用
    Student.go();//或直接go()
  }
}
=======================================     
public class person{
  {
     System.out.println("匿名代码块");
  }
  static{
  //只执行一次,别的每次都执行
    System.out.println("静态代码块");
    }
  public person(){ System.out.println("构造代码块"); }
}
//静态代码块
//匿名代码块
//构造代码块
//通过final修饰的类就没有此类了,不能被继承,不能被重写
 
抽象类abstract
public abstract class Action{//抽象类的方法继承了它的子类,都必须实现它的方法,除非继承也是抽象类
  public abstract void a();
}
//不能new这个抽象类,只能靠子类去实现它:约束
//抽象类可以有普通方法,抽象方法必须在抽象类里
//存在意义:提高开发效率
 
 
接口:
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范,自己无法写方法
//interface定义接口,必须有一个类去实现它
public interface jiekou{
//接口中所以定义其实都是抽象的
  public obstract void add(String name){}
}
 
实现:实现接口的类就要实现接口的方法
public class shixain implements jiekou1,jiekou2{ public void add(String name){} }
作用:
1.约束
2.定义一些方法,让不同的人实现
3.public abstract
4.public static final
5.接口不能被实例化,接口中也没有构造方法
6.implements可以实现多个接口
7.必须要重写接口中的方法
 
 
各种类的拓展
public class outer{
  private int id;
  public void out(){
    System.out.println("外部类的方法")
  }
 
}
=====================================
public class inner{
  public void in(){
    System.out.println("内部类方法") //内部类可以获得外部类的私有属性
  }
}
 =====================================
public class test{
  public static void main(String[] args){
    outer waibu=new outer();
    outer.inner neibu=outer.new inner();
  }
}
 

posted @ 2021-07-16 10:25  风干一条鱼  阅读(47)  评论(0)    收藏  举报