Ⅰ java中,什么是“类,方法,函数” 三者又有什么区别
类 就是 指一个种类,比如 人 ,是一个类,动物 也是一个类,等等
而如果特指某个人,则是实体。
在Java中,类的定义是 : < class> <类名> ,通常,我们在Java 中提到class,就是指类的意思。
( <> 符号要去掉)
另外,方法与函数其实一样的,只是在C语言中我们习惯叫函数,而在Java中我们习惯叫方法,不管怎么叫,都是指同一个意思。
方法(或函数,为了方便,下面我都说 方法 ) 必须在类中。方法的定义 :
<修饰符><返回值><方法名> (<参数类型> <参数名>){.....}
( <> 符号要去掉)
通常你看到一个带()的就是方法了,例如: aa.XXX(); 是指调用实体 aa的XXX()方法。
类 可以拥有 属性跟方法。方法在类中。
在 类 和 方法 中均创建 某个类 的实体,可以调用类的方法。
程序运行时,首先是从main()方法开始运行的。
main()函数必须放在 跟你文件名同名的类中,另外一个class文件中只能有一个mian()方法,
否则,在编译运行的时候会出错。
Ⅱ java可以在main中定义函数吗
Java确实允许在main函数中定义匿名内部类,并实现接口的方法,从而自定义一些函数。例如,你可以创建一个匿名内部类来实现Map接口,具体如下:
public static void main(String[] args){
Map map = new Map() {
@Override
public int size() {
return 0;
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean containsKey(Object key) {
return false;
}
@Override
public boolean containsValue(Object value) {
return false;
}
@Override
public Object get(Object key) {
return null;
}
@Override
public Object put(Object key, Object value) {
return null;
}
@Override
public Object remove(Object key) {
return null;
}
@Override
public void putAll(Map m) {
}
@Override
public void clear() {
}
@Override
public Set keySet() {
return null;
}
@Override
public Collection values() {
return null;
}
@Override
public Set> entrySet() {
return null;
}
};
}
这种方式可以让你在程序运行时动态地实现接口,而无需预先定义完整的类。不过,这种方式主要用于简单的实现,如果需要复杂的逻辑,建议定义完整的类。
需要注意的是,匿名内部类虽然简洁,但在可读性和可维护性方面可能不如完整类定义。因此,对于复杂的实现,建议使用完整的类定义。
此外,这种方法在某些情况下可以提高代码的灵活性和复用性。例如,你可以在main方法中根据需要动态地创建不同的Map实现,而无需预先定义这些实现。
总之,虽然Java不允许直接在main方法中定义普通函数,但通过这种方式,你可以在main方法中实现接口并自定义函数。