Java基础知识
程序员文章站
2022-03-30 17:11:14
...
java的方法:
1、方法的名字和参数的列表称为方法的签名,例如f(int)\f(String)是相同的方法名不同的签名,方法的返回值不属于签名的一部分,所以在子类覆盖超类方法的时候允许返回类型定义为原返回类型的子类型(java se5.0 以后)。
2、虚拟机在寻找类方法匹配时,会加载类的时候会创建一个类的方法列表。
3、java 接口中的方法自动声明为public,接口中的域自动声明为public static final
内部类分为:一般内部类、局部内部类、匿名内部类、静态内部类
一般内部类的具体实现过程:
//大狗肚里有只小狗
public class Dog{
private String name;
private boolean isMale;
public void bite{
//咬
}
public Dog();
private class LittleDog{//只有内部类能声明为private
public Dog dog
//内部类创建原理及调用外部属性方法
public LittleDog(Dog dog){
this.dog=dog;
//下面可以调用dog的任意属性方法
}
}
}
局部内部类就是声明在方法内部的类,不能声明为public和private。
局部内部类:
public void start(){
final int x=0;//被应用
class Dog{
public void add(int y){
x=x+y;//局部内部类引用局部变量应该声明为final;
}
}
}
匿名内部类因为没有类名,所也不能有构造方法,调用超类构造器构造。
public class Dog{
//监听小偷的匿名内部类
StealListener listener=new StealListener{
public void bite(){}
}
}
静态内部类,只有内部类能声明为static,静态内部类不能引用外部内的任何属性和方法。\
泛型是指定方法返回类型和域类型或变量类型。泛型不能实例化变量,比如 new T(..),T.class 泛型的静态上下文中类型变量无效,如:private static T singleTon (这样是错的)