static方法/变量
在类中,用static声明的成员变量为静态变量,或者叫做,类属性,类变量。
它为该类的公用变量,属于类,被该类的所有实例使用。
对象可以调用static变量或方法,但是static方法不能调用非static变量及方法。
用static声明的方法为静态方法,不需要对象就可以调用,通过(类名.方法名)调用。
package com.shangxuetang.chapter7;
public class Student {
String name;
int age;
int id;
String gender;
int weight;
static int a = 11;
public static void printSS() {
System.out.println(a);
}
public Student(int i) {
System.out.println("学生");
}
public void study() {
printSS();
System.out.println(name + "在学习");
}
public void sayHello(String sname) {
System.out.println(name + "在向" + sname + "说:你好!");
}
public static void main(String agrs[]) {
Student.a=1;
Student.printSS();
Student s1 = new Student(1);
s1.age = 18;
s1.gender = "男";
s1.name = "高崎";
s1.study();
s1.sayHello("马士兵");
}
}
this
普通方法中,this总是指向调用该方法的对象,又称隐式参数
构造方法中,this总是指向正要初始化的对象。
this不能用于static方法中
package com.shangxuetang.chapter7;
public class Student {
String name;
int age;
int id;
String gender;
int weight;
public void setName(String name) {
this.name = name;
}
public Student() {
System.out.println("hello");
}
public Student(String name) {
this();//只能在第一行
this.name = name;
}
public Student(String name, int id) {
this(name);
this.name = name;
this.id = id;
}
public Student(int i) {
System.out.println("学生");
}
}