java基础结束
Static 介绍
package com.zzl.oop2.Demo1.Demo7;
//static
public class Student {
private static int age;//静态变量 多线程
private double score;//非静态变量
public void run(){
}
public static void go(){
}//和类一起加载
public static void main(String[] args) {
go();//非静态无法直接调用
Student s1 = new Student();
s1.run();//非静态调用方法
}
}
//静态代码块
package com.zzl.oop2.Demo1.Demo7;
public class Person {
//赋初始值
{
//代码块(匿名代码块)
System.out.println("匿名代码块");
}
static {
//静态代码块
System.out.println("静态代码块");
}//执行一次
public Person(){
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person1 = new Person();
System.out.println("=========");
Person person2 = new Person();
}
}
//静态导入包
package com.zzl.oop2.Demo1.Demo7;
import static java.lang.Math.random;
public class Test {
public static void main(String[] args) {
System.out.println(random());
}
}
接口
作用:
-
约束
-
定义一些方法,让不同的人实现-
-
public abstract
-
public static final
-
接口不能被实例化;接口中没有构造方法
-
implement可以实现多个接口
-
使用接口必须要重写接口的方法
抽象类
package com.zzl.oop2.Demo1.Demo8;
//abstract 抽象类:类extends: 单继承 接口可以多继承
public abstract class Action {
//约束--有人帮我们实现
//abstract,抽象的方法只有方法的名字,没有方法的实现
public abstract void doSomething();
//1.不能new抽象类,只能考子类去实现他,约束!
//2.抽象类中可以写普通方法
//3.抽象方法必须写在抽象类中-
//抽象的抽象:约束-
//思考题?存在构造器吗 虽然抽象类没有提供任何构造函数,编译器将为抽象类添加默认的无参数的构造函数,如果没有的话抽象类的子类将无法编译,因为在任何构造函数中的第一条语句隐式调用super()。
//存在的意义
}
package com.zzl.oop2.Demo1.Demo8;
public class A extends Action{
@Override
public void doSomething() {
}
}
浙公网安备 33010602011771号