导航:首页 > 编程语言 > 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方法内部类定义方法相关的资料

热点内容
数据库查询系统源码 浏览:620
php5314 浏览:359
完美国际安装到哪个文件夹 浏览:671
什么app可以扫一扫做题 浏览:542
程序员编码论坛 浏览:927
淘点是什么app 浏览:662
中国高等植物pdf 浏览:456
51单片机时间 浏览:185
后台如何获取服务器ip 浏览:269
单片机流水灯程序c语言 浏览:237
程序员第二职业挣钱 浏览:242
运行里怎么输入服务器路径 浏览:844
pythonstepwise 浏览:513
刘一男词汇速记指南pdf 浏览:67
php认证级别 浏览:372
方舟编译啥时候推送 浏览:1013
php手机验证码生成 浏览:678
哲学思维pdf 浏览:19
凌达压缩机有限公司招聘 浏览:537
weblogic命令部署 浏览:40