黑马程序员技术交流社区
标题:
求教各位前辈,方法一定要定义在类中吗?
[打印本页]
作者:
羽狼之翼
时间:
2015-1-9 23:58
标题:
求教各位前辈,方法一定要定义在类中吗?
如题,方法是否一定要定义在类中?定义在接口中的抽象方法,叫不叫方法呢?求解!谢了!
作者:
常强儿
时间:
2015-1-10 00:07
java所有的东西都在类中
作者:
djbcool
时间:
2015-1-10 00:07
方法就是解决一类问题的有序代码组合,无论定义在哪里。
作者:
jojo
时间:
2015-1-10 00:48
是的,在java中有着万物皆对象的说法,所以任何操作都会被封装在一个类中
作者:
lwj123
时间:
2015-1-10 08:11
你都说是抽象方法咯,那肯定是方法啊,只是定义在接口中的方法没有方法体而已。
作者:
邓士林
时间:
2015-1-10 09:10
脱离类的方法到底有没有?
思考下,如果一个方法没有归属(类、接口),不指定谁拥有这个类,那它怎么被调用呢?
不能调用,还有存在的意义吗?用都不能用,JVM估计不会让它存在,浪费内存啊!
测试用例:
public void Get()
{
System.out.println("我是脱离方法的类。");
}
class You
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
编译结果:
---------- 编译 ----------
You.java:1: 错误: 需要class, interface或enum
public void Get()
^
1 个错误
输出完成 (耗时 6 秒) - 正常终止
编译结果处理:
通过编译结果,我们可以根据提示【需要class,interface或enum】,应该就是没有所属导致的。
尝试解决:
1、添加类:
class MyName
{
public void Get()
{
System.out.println("我是脱离方法的类。");
}
}
class You
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
编译结果:
---------- 编译 ----------
输出完成 (耗时 1 秒) - 正常终止
2、添加接口:
interface MyName
{
public void Get();
}
class You
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
编译结果:
---------- 编译 ----------
输出完成 (耗时 0 秒) - 正常终止
注意:接口中的方法不能有主体,没有实现的方法,谁实现它谁实现自己的方法主体。
3、添加enum:
介绍下enum的用法:
简单的用法:JavaEnum简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。如:
性别:
public enum SexEnum {
male, female;
}
代码:
enum MyName{
public void Get()
{
System.out.println("我是脱离方法的类。");
}
}
class You
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
编译结果:
---------- 编译 ----------
You.java:1: 错误: 需要<标识符>
enum MyName{
^
You.java:2: 错误: 需要',', '}'或';'
public void Get()
^
You.java:2: 错误: 需要'}'
public void Get()
^
You.java:5: 错误: 需要class, interface或enum
}
^
4 个错误
输出完成 (耗时 1 秒) - 正常终止
枚举类,需要枚举常量(这点我也不懂)
enum MyName{
id; //添加一个枚举常量
public void Get()
{
System.out.println("我是脱离方法的类。");
}
}
class You
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
编译结果:
---------- 编译 ----------
输出完成 (耗时 0 秒) - 正常终止
总结:方法不能独立存在,必须指明归属,以便使用。接口、抽象类和enum归根都属于类,特殊点罢了
ps:个人瞎琢磨,欢迎指教
作者:
以利亚
时间:
2015-1-10 09:29
接口、枚举、抽象类
作者:
菜鸟一号
时间:
2015-1-10 09:33
抽象方法也是方法嘛
作者:
446111220
时间:
2015-1-10 09:41
抽象方法你自己都说了肯定是啊
作者:
廖彬
时间:
2015-1-10 12:19
java最核心的地方就是面向对象思想,把所有东西放在一个“包”里,而这个包就是类,方法当然就是该定义在类中,当你new出一个对象时,就可以用这个对象将类中的方法属性实现。就比如一辆车,发动机,轮胎应该安装在哪里,当然是在车里,当你用车时,直接new一个车出来开车对不对,而不是自己动手组装再开车
作者:
周景新
时间:
2015-1-10 15:02
楼上说的很详细,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2