使用接口: 接口在使用过程中,还经常与匿名内部类配合使用
匿名内部类就是没有名字的内部类, 多用于关注实现而不关注实现类的名称
语法格式: Interface i=new Interface(){
public void method(){ System.out.println("匿名内部类实现接口的方式");}
}
匿名内部类就是没有名字的内部类, 多用于关注实现而不关注实现类的名称
语法格式: Interface i=new Interface(){
public void method(){ System.out.println("匿名内部类实现接口的方式");}
}
2015-04-12
使用接口:
一个类可以实现一个或多个接口,实现接口使用 implements 关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。
继承父类实现接口的语法为: [修饰符] class 类名 extends 父类 implements 接口1,接口2……{类体部分//如果继承了抽象类,需要实现继承的抽象方法;要实现接口中的抽象方法。}
****如果要继承父类,继承父类必须在实现接口之前*****
一个类可以实现一个或多个接口,实现接口使用 implements 关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。
继承父类实现接口的语法为: [修饰符] class 类名 extends 父类 implements 接口1,接口2……{类体部分//如果继承了抽象类,需要实现继承的抽象方法;要实现接口中的抽象方法。}
****如果要继承父类,继承父类必须在实现接口之前*****
2015-04-12
接口定义
常量:接口中的属性是常量,即使定义时不添加 public static final 修饰符,系统也会自动加上;
方法:接口中的方法只能是抽象方法,总是使用,即使定义时不添加 public abstract 修饰符,系统也会自动加上;
常量:接口中的属性是常量,即使定义时不添加 public static final 修饰符,系统也会自动加上;
方法:接口中的方法只能是抽象方法,总是使用,即使定义时不添加 public abstract 修饰符,系统也会自动加上;
2015-04-12
接口定义的基本语法:
[修饰符]interface 接口名[extends 父接口1,父接口2……]
{
零个到多个常量定义……
零个到多个抽象方法的定义……
}
[修饰符]interface 接口名[extends 父接口1,父接口2……]
{
零个到多个常量定义……
零个到多个抽象方法的定义……
}
2015-04-12
最新回答 / Java暗影
1、局部变量和成员变量的作用域不同;局部变量在方法内部(方法开始到结束);成员变量作用域是整个类(从类开始到结束);2、成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值3、成员变量可以被public、protected、default、private、static、final修饰符修饰,局部变量只能被final修饰符修饰。4、成员变量在堆里进行创建,局部变量在栈里进行创建。
2015-04-12
最赞回答 / passionfoure
问题解决了!JDK类中有一些类覆盖了oject类的equals()方法(Object 中equals()方法是比较内存地址的),比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有:java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等)。如果在Animal类覆盖equals函数,就会得到不同的效果。
2015-04-11
静态内部类是 static 修饰的内部类,这种内部类的特点是:
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
2015-04-11