目录
main函数
Java执行程序只执行main函数,也就是说,其他部分再高大上,只要main函数里是个空,就是白搭。
例,
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
@java.io.Serial
private static final long serialVersionUID = 8683452581122892189L;
private static final int DEFAULT_CAPACITY = 10;
private static final Object[] EMPTY_ELEMENTDATA = {};
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};
transient Object[] elementData; // non-private to simplify nested class access
private int size;
public ArrayList(int initialCapacity) {
if (initialCapacity > 0) {
this.elementData = new Object[initialCapacity];
} else if (initialCapacity == 0) {
this.elementData = EMPTY_ELEMENTDATA;
} else {
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
}
}
public ArrayList() {
this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;
}
public ArrayList(Collection<? extends E> c) {
Object[] a = c.toArray();
if ((size = a.length) != 0) {
if (c.getClass() == ArrayList.class) {
elementData = a;
} else {
elementData = Arrays.copyOf(a, size, Object[].class);
}
} else {
// replace with empty array.
elementData = EMPTY_ELEMENTDATA;
}
}
...
}
(ArrayList部分代码)
如果main函数里写的是空,那么执行结果还是空。
Java标准的main函数是写在class里面的。
比如说,现在指定好了一个文件:fileone.java
里面的内容:
public class fileone{
public static void main(String[] args){
System.out.println("hello,world!");
}
}
插播一下,C++(C)的main:
int main(){
...
return 0;
}
类的定义
Java对类的定义是有限制的
一
一个文件里最多只能定义一个public类,像这样的就是错误定义:
public class one{
...
}
public class two{
...
}
...
但是,当我试图用编写C++积累的“经验”修改代码时:
public class one{
...
}
private class two{
...
}
...
public class one{
...
}
protected class two{
...
}
...
单单是编辑器就不过关。(一串红波浪线)
解决方法
不要前缀,直接用class:
public class one{
...
}
class two{
...
}
...
解决
二
最好one.java里就定义public class one,
public class two最好放在two.java里。
这是编辑器(IDEA)提出的要求,不知道违反了是不是会报错。但是,不管它是一个规则还是一个规范,还是遵守的好。
完
这里是Unconquerable&Llxy,原名html_finder.