原因在于:如果不是静态成员和方法则依靠于实例存在
如果没有实例创建的时候是访问不了的
解决方法:
1.在要访问的成员和方法前面加上static表示是类对象
只要类一写就可以访问,它们是静态的,不需要实例对象才能创建。
2.先构建实例再访问方法
例如:在子类的静态main中访问父类的方法
package rongqi;
import java.util.*;
public class rongqi{
static ArrayList<String> notes = new ArrayList<String>();
static int getSize(ArrayList<String> notes){
return notes.size();
}
static void add(String s, ArrayList<String> notes){
notes.add(s);
}
static void indexAdd(int i, String s, ArrayList<String> notes){
notes.add(i, s);
}
}
class run extends rongqi{
public static void main(String args[]) {
ArrayList<String> notes = new ArrayList<String>();
add("he", notes);
rongqi vessel = new rongqi();
System.out.println(vessel.getSize(notes)); //如果你不声明成statci也可以,创建实例对象再调用方法
System.out.println(getSize(notes));//如果没有static这里会报错
for(String s : notes){
System.out.println(s);
}
System.out.println(notes);
}
}
输出结果:
1
he
[he]