黑马程序员技术交流社区
标题:
关于接口?
[打印本页]
作者:
张金
时间:
2012-11-13 18:40
标题:
关于接口?
本帖最后由 张金 于 2012-11-24 13:51 编辑
接口中方法的修饰符必须是public的吗?
作者:
黑_礼_服
时间:
2012-11-13 19:43
对啊 定义接口只能用默认的或public修饰 因为定义接口就是为了让其他类去实现功能 接口从某种意义上来说就是定义的一种规则 让实现类必须遵守其接口类的规则
作者:
黑_礼_服
时间:
2012-11-13 19:53
补充下啊 接口中定义的变量定义的变量 都属于静态常量 默认是 public static final修饰的
public static final [变量名] = "值";
作者:
曹艺先-热爱编程
时间:
2012-11-13 20:12
接口中的成员变量默认都是public static final 类型的,必须被显示初始化
接口中的方法默认都是public abstract类型修饰的
接口中只能包含public static final类型的成员变量和public abstract类型的成员方法
作者:
罗会涛
时间:
2012-11-13 20:36
本帖最后由 罗会涛 于 2012-11-13 20:39 编辑
接口的方法都是抽象的,本身就是为了让别人来实现,不实现就没有意义,所以把访问权限定得高一点.
作者:
张综
时间:
2012-11-13 22:24
1 接口不是类
在java中定义接口需要使用interface关键字
public interface 接口名 {}
2 与抽象类有点像(特殊的抽象类)
可以把接口看成是特殊的抽象类。这种抽象类只有抽象方法,没有其他东西!
3 接口定义的语法格式
interface 接口名 {
抽象方法1
…..
抽象方法N
}
4 接口中的方法都是抽象的
接口中有抽象方法,但没有实例属性,没有static方法,咱们也不说没有什么了,就是可以有什么:抽象方法!
5 接口中没有属性
接口中没有属性,可以有 public static final的属性,我们应该称之为常量。(需要马上赋值)
接口中的方法:public abstract的!
6 接口不是用来继承的,而是用来现实的
接口不是类!
所以接口不能做为其他类的父类,但类可以去实现接口。
7 接口实现的语法格式
public interface MyInter {
public abstract void fun();
}
class MyClass implements MyInter {
public void fun() {}
}
定义了一个 MyInter接口,又定义一个类,名为MyClass,MyClass实现了MyInter接口。
实现接口的关键不是extends,而是implements。
作者:
李涛兴
时间:
2012-11-13 23:49
是的,因为接口是一个特殊的抽象类,该抽象类中的方法也必须是抽象类,如果子类要实现接口的功能,那么权限就必须足够大,所以子类方法需要public修饰,那么为了能有子类的权限那么大,所以接口的方法也必须为public
接口中一般定义 常量,跟抽象函数。而接口中的成员都有固定的修饰符的,如常量:public static final int X=1;方法:public abstract 类型 函数名();
当然,在接口中这些成员前面的修饰符也可以省略不写,那是因为java默认前面的修饰符的原因。
作者:
李涛兴
时间:
2012-11-13 23:49
是的,因为接口是一个特殊的抽象类,该抽象类中的方法也必须是抽象类,如果子类要实现接口的功能,那么权限就必须足够大,所以子类方法需要public修饰,那么为了能有子类的权限那么大,所以接口的方法也必须为public
接口中一般定义 常量,跟抽象函数。而接口中的成员都有固定的修饰符的,如常量:public static final int X=1;方法:public abstract 类型 函数名();
当然,在接口中这些成员前面的修饰符也可以省略不写,那是因为java默认前面的修饰符的原因。
作者:
许王斌
时间:
2012-11-15 09:39
j接口是个好东西,要把最基本的东西彻底搞懂
作者:
欧阳亚嗣
时间:
2012-11-15 14:25
可以在接口中显示的把方法声明为Public.即使你不显示的定义它。默认也是Public.
当你要实现一个接口的时候,实现接口中的方法也必须是public.否则在继承过程中,方法的访问权限就降低了。这是编译器错误。
作者:
曾观富
时间:
2012-11-15 22:24
因为java的接口中默认的变量都是 public static final的。
而方法就都是public的类实现了接口就要实现接口中的所有方法, 如果你不写成public的,而写 成了default或者不写,那么就代表只有包内有效, 就更改接口的的实现规则,也就大大的缩小了接口中方法的使用范围。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2