static关键字
public class 静 {
private static int age;//静态变量
private double score;//非静态变量
public void run(){
go();//方法间的调用
}
public static void go(){
}
public static void main(String[] args) {
静 s1 = new 静();
age=12;
System.out.println(静.age);
System.out.println(静.age);
System.out.println(s1.age);
System.out.println(s1.score);
new 静().run();//对象。方法
静.go();//有静态变量修饰 也可以直接调用
}
}
通过final修饰的类无法继承,没有子类了(即子类无法继承父类)
这个匿名模块无法主动调用
代码块的介绍
package 静态.demo;
public class 静 {
//顺序2. 用法:赋初始值
{
System.out.println("匿名代码块");
}
//顺序1.
static {
System.out.println("静态代码块");
}//只执行一次
//顺序3
public 静() {
System.out.println("构造方法");
}
public static void main(String[] args) {
静 静1 = new 静();
System.out.println("===============");
静 静2 = new 静();
}
}
抽象类
main方法
package 静态.demo;
import static java.lang.Math.PI;
import static java.lang.Math.random;//静态导入包
public class test {
public static void main(String[] args) {
System.out.println(random());
System.out.println(PI);
A a = new A();
a.something();
}
}
父类
package 静态.demo;
// 抽象类的所有方法,继承了它的子类,都必须要实现它的方法 ————重写方法
public class A extends action{
@Override
public void something() {
System.out.println("aaa");
}
}
/*
除非子类也是抽象的
abstract
extends:单继承,无法实现多继承 接口可以多继承
*/
子类
package 静态.demo;
//abstract 抽象类
public abstract class action {
//约束~有人帮我们实现
//abstract,抽象方法 只有方法名字,没有方法的实现
public abstract void something();
}
/*
1.不能new这个抽象类,只能子类去实现它
2.抽象类中可以写普通的方法
3.抽象方法必须在抽象类中
*/