导航:首页 > 编程语言 > java方法内部类定义方法

java方法内部类定义方法

发布时间:2023-01-24 05:47:32

A. java内部类有几种

Java中的几种内部类:
成员内部类:作为外部类的一个成员存在,与外部类的属性、方法并列。当某个类除了他的外部类,不会被其他类使用时应该选择使用成员内部类。
局部内部类:局部内部类定义在外部类的某个代码块或方法块中。如果只会在某个方法或块中创建这个类的对象,就可以使用局部内部类。
匿名内部类:匿名内部类一般定义在需要传递接口或回调的的地方,一个匿名内部类一定是在new的后面,用其隐含实现一个接口或继承一个类。假如只需要创建这个类的一个对象不需要知道其实际类型(不需要使用到类名),那么就可以使用匿名内部类。
静态内部类:和成员内部类一样,作为外部类的一个成员存在,与外部类的属性、方法并列,只不过在声明类的时候加入了static关键字。有时候,使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围类对象。这时可以使用静态内部类,以便取消产生对外部类的引用。

B. java可以在方法内部定义内部类吗

可以的
把类放在方法内
class Outer {
public void doSomething(){
class Inner{
public void seeOuter(){
}
}
}
}
(1)、方法内部类只能在定义该内部类的方法内实例化,不可以在此方法外对其实例化。
(2)、方法内部类对象不能使用该内部类所在方法的非final局部变量。
因为方法的局部变量位于栈上,只存在于该方法的生命期内。当一个方法结束,其栈结构被删除,局部变量成为历史。但是该方法结束之后,在方法内创建的内部类对象可能仍然存在于堆中!例如,如果对它的引用被传递到其他某些代码,并存储在一个成员变量内。正因为不能保证局部变量的存活期和方法内部类对象的一样长,所以内部类对象不能使用它们。

C. java中一个方法里面可以再定义一个方法么

不能,方法内部只能调用一个方法,或者你可以使用方法的内部类来实现方法内部类中定义方法。

D. java中能在方法中定义方法吗

方法中不能直接定义方法,但可以在方法中定义类,类里面再定义方法:
Java code?
public static void main(String[] args) {
class B {
void test() {
System.out.println("test()");
}
}
new B().test();
}

E. java中静态内部类是怎么定义的

需要了解2个概念:内部类和静态修饰符static
1)首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。
2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。
这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用
外部类名+内部类名
获得。
以下举例说明怎么使用:
Student类有个叫School的内部类(非静态)
Student
stu
=
new
Student();
stu.School
sch
=
new
stu.School();
sch就是School的一个对象。
假如School是内部静态类:
Student.School
sch
=
new
Student.School();

F. 在java定义内部类

public class A {
void a{ class B{...} }
public static void main(String[] args {
...
}

public class A {
public class B {
...}
public static void main(String[] args {
...
}
这些都是可以的

public class A {
void a {
Protected class B {
...}
}
public static void main(String[] args {
...
}
这一个不可以。
对于内部类,就想类的属性一样,可以用 public private protected 修饰,或者什么都不加,但是如果这个内部类在类的方法里面,public private protected都不能使用。就想在方法中定义变量不能加这三个修饰符一样,方法中的内部类也不能使用设三个修饰符,在方法中定义一个内部类,一般是为了隐藏某种实现细节,这个方法中的内部类是不能在这个方法之外用new 关键字来创建的,但是可以作为这个方法的返回参数。
关于你补充的问题,我还没使用过。我觉得Java作为一门高级语言,应该有这方面的设计,我没有用过。

G. java 在方法中定义内部类 访问方法的参数或方法中的变量

亲测1.6 1.7都会编译出错.

Java 8的新特性,但其实只是让你方便一点,在你这个内部类里效果等同于final
比如,如果你想修改x或info
a = 100
那么会告诉你:
Local variable defined in an enclosing scope must be final or effectively final
注意后面说的effectively final,就是说表面上没有final修饰,但实际上必须和final有相同的效果

H. Java 类中定义方法的问题

类中方法定义内部类通常是为了隐藏实现。
此处为这次测试的代码清单:

值得注意的是,类B前智能加final或abstract,不能加public private protected,而且方法a()不能定义为
B a()
{
class B implement C{...}
...
return new B();
}
而一定要返回外部定义了的接口C或者外部定义了的父类。

I. java方法内部 能不能写方法

肯定不行的,比如public void h(){ void f(){}}这样的语句是错误的,只能在方法内部调用其他方法,不能在方法内部定义方法,也就是不支持内部方法。

J. java 中方法内可以定义方法吗方法内可以定义类吗

方法里不能定义方法
方法里可以定义类(内部类 匿名类)
于是方法中还是可以间接定义方法的

楼上的胡说

阅读全文

与java方法内部类定义方法相关的资料

热点内容
编译器有几个好用的 浏览:500
数据库和网站如何搭载服务器 浏览:154
网络流理论算法与应用 浏览:795
java和matlab 浏览:388
钉钉苹果怎么下app软件 浏览:832
php网站验证码不显示 浏览:859
铝膜构造柱要设置加密区吗 浏览:344
考驾照怎么找服务器 浏览:884
阿里云服务器如何更换地区 浏览:972
手机app调音器怎么调古筝 浏览:503
锐起无盘系统在服务器上需要设置什么吗 浏览:19
红旗出租车app怎么应聘 浏览:978
如何编写linux程序 浏览:870
吉利车解压 浏览:248
java输入流字符串 浏览:341
安卓软件没网怎么回事 浏览:785
dvd压缩碟怎么导出电脑 浏览:275
冒险岛什么服务器好玩 浏览:542
如何在服务器上做性能测试 浏览:794
命令序列错 浏览:261