MyClass类:
package demo13Static类;
public class MyClass {
int num;//成员变量
static int numStatic;//静态变量
//成员方法
public void method(){
//成员方法可以访问成员变量
System.out.println(num);
//成员方法可以访问静态变量
System.out.println(numStatic);
}
//静态方法
public static void methodStatic(){
//静态可以访问静态变量
System.out.println(numStatic);
}
}
StaticMethod类:
package demo13Static类;
public class StaticMethod {
public static void main(String[] args) {
MyClass obj=new MyClass();//首先创建对象
//然后才能使用没有static的关键字的内容
obj.method();
//对于静态方法来说,可以通过对象名进行调用,也可以直接通过类名称来调用
obj.methodStatic();//正确,不推荐使用,这种写法在编译之后会被javac翻译成类名.静态方法名
MyClass.methodStatic();//正确,推荐
// 对于本身的静态方法,可以省略类名
myMethod();
StaticMethod.myMethod();//等效
}
private static void myMethod() {
System.out.println("自己方法");
}
}
Student类:
package demo13Static类;
public class Student {
private int id;//学号
private String name;
private int age;
static String room;
private static int idCounter=0;//学号计数器,每当new了一个新对象,计数器++
public Student() {
this.id=++idCounter;
}
public Student(String name, int age) {
this.name = name;
this.age = age;
this.id=++idCounter;//自动生成id
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
StaticField类:
package demo13Static类;
public class StaticFiled {
public static void main(String[] args) {
Student one=new Student("郭靖",19);
one.room="101";//给one对象的room属性赋值,在创建对象被其他对象所共享
Student two=new Student("轻容",18);
System.out.println("姓名:"+one.getName()+",年龄"+one.getAge()+",教室"+one.room+",学号:"+one.getId());
System.out.println("姓名:"+two.getName()+",年龄"+two.getAge()+",教室"+two.room+",学号:"+two.getId());
}
}
StaticPerson类:
package demo13Static类;
public class StaticPerson {
static{
System.out.println("静态代码块执行");
}
public StaticPerson() {
System.out.println("构造方法执行");
}
}
StaticFileTest类:
package demo13Static类;
public class StaticFileTest {
public static void main(String[] args) {
StaticPerson one=new StaticPerson();
StaticPerson two=new StaticPerson();//第二次:静态代码块不执行,构造方法执行
}
}
DemoArrays类:
package demo14数组工具类Arrays;
import java.util.Arrays;
public class DemoArrays {
public static void main(String[] args) {
int[] intArray={10,20,30,40};
//将int[]数组按照默认格式变成字符串
String intStr= Arrays.toString(intArray);
System.out.println(intStr);///[10, 20, 30, 40]
int[] array1={2,1,5,10,6,8};
Arrays.sort(array1);
System.out.println(Arrays.toString(array1));//[1, 2, 5, 6, 8, 10]
String[] array2={"aaa","ccc","bbb"};
Arrays.sort(array2);
System.out.println(Arrays.toString(array2));//[aaa, bbb, ccc]
}
}
DemoArrayPractice类:
package demo14数组工具类Arrays;
import java.util.Arrays;
public class DemoArrayPractice {
public static void main(String[] args) {
String str="asdfjadsfkasfjasd";
//如何进行升序 必须是一个数组 sort
//String---数组 用toCharArray
char[] chars=str.toCharArray();
Arrays.sort(chars);//对数组升序排列
//倒叙遍历
for (int i =chars.length-1 ; i>=0;i--) {
System.out.print(chars[i]);
}
}
}



