第八天
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();
}
}
浙公网安备 33010602011771号