package rainbol;
public class Test {
public static void test(String aaa) {
System.out.println(aaa);
}
private static void private_test(String str) { //private私有
System.out.println(str);
}
protected static void protected_test(String str) {
System.out.println(str);
}
}
package rainbol2;
import rainbol.Test;
public class Main {
public static void public_test(String[] str) {
// public 表示公有的,本类方法,成员变量对所有用户开放或者调用
for (String i : str) {
System.out.println(i);
}
}
private static void private_test(String str) {
//private私有,除本类自己使用之外,任何人不能查看或者调用
System.out.println(str);
}
protected static void protected_test(String str) {
// 父类的protected成员是包内可见的,并且对子类可见;
// 若子类与父类不在同一包中,那么在子类中,子类实例可以访问其从父类继承而来的protected方法,而不能访问父类实例的protected方法。
System.out.println(str);
}
//static 静态:全局的信息,从程序启动时就一直占用内存
public static void static_test(String str) {
//static的主要作用在于创建独立于具体对象的域变量或者方法
System.out.println(str);
}
//非静态:List map可以用非静态,因为这些比较占内存,在程序启动时可以先不执行,可以节省资源
public void no_static_test(String str) {
//当方法中没有static时我们可以理解成在java项目运行时不会运行该方法,如果需要将非静态的方法必须先实例化
System.out.println(str);
}
public static void main(String[] args) {
String i = "双精度费卢卡斯";
String[] aa = {"1", "2", "3"};
aa[0] = i;
//内部调用本类的方法(公有)
public_test(aa);
private_test(i); //在本类调用自己类私有的方法是可以调用成功的
protected_test(i);
//调用外部类中的方法
Test.test(i);
//Test.private_test(i);在外部调用其他类的方法时不能调用private的私有方法
//调用非静态方法
Main no_static = new Main(); //实例化Main类
no_static.no_static_test(i); //将对象.非静态方法才能调用非静态方法
}
}