面向对象
static关键字详解
静态属性
package oopzong.oop.opp6;
//static:在类中使用修饰成员变量,在方法就是成员方法 静态方法和静态属性
public class Student {
private static int age;//静态变量
private double score;//非静态变量
public static void main(String[] args) {
Student s1 = new Student();
System.out.println(Student.age);
System.out.println(s1.score);//通过对象调用
System.out.println(s1.age);//通过对象调用
}
}
静态方法
package oopzong.oop.opp6;
//static:在类中使用修饰成员变量,在方法就是成员方法 静态方法和静态属性
public class Student {
public void run(){
go();//非静态方法可以调用静态方法里的
}
public static void go(){
}
public static void main(String[] args) {
go();//静态方法可以调用静态方法但不能调用非静态
//run();//报错
}
}
代码块
package oopzong.oop.opp6;
public class Person {
{
//代码块(匿名代码块)
}
static {
//静态代码块
}
}
package oopzong.oop.opp6;
public class Person {
{
//第二个执行 赋初始值
System.out.println("匿名代码块");
}
//第一个执行且只执行一次
static {
System.out.println("静态代码块");
}
//第三执行
public Person() {
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person = new Person();
System.out.println("=========");
Person person1 = new Person();
}
}
静态代码块
匿名代码块
构造方法
=========
匿名代码块
构造方法
静态导入包
public class Test {
public static void main(String[] args) {
System.out.println(Math.random());//随机生成一个数
}
}
package oopzong.oop.opp6;
//静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Test {
public static void main(String[] args) {
System.out.println(random());
System.out.println(PI);
}
}
被final定义不能被继承
标签:java,静态,System,笔记,static,40,println,public,out From: https://www.cnblogs.com/12345ssdlh/p/16809551.html