导航:首页 > 编程语言 > java类的嵌套

java类的嵌套

发布时间:2022-06-29 16:40:21

1. java嵌套类的作用、用法和调用机制是怎么样的

使用匿名内部类课使代码更加简洁、紧凑,模块化程度更高。内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到。然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写其方法;第二种,实现一个接口(可以是多个),实现其方法。下面通过代码来说明:
Java代码
public
class
TestAnonymousInterClass{
public
static
void
main(String
args[]){
TestAnonymousInterClass
test=new
TestAnonymousInterClass();
test.show();
}
//在这个方法中构造了一个匿名内部类
private
void
show(){
Out
anonyInter=new
Out(){//
获取匿名内部类实例
void
show(){//重写父类的方法
System.out.println("this
is
Anonymous
InterClass
showing.");
}
};
anonyInter.show();//
调用其方法
}
}
//
这是一个已经存在的类,匿名内部类通过重写其方法,将会获得另外的实现
class
Out{
void
show(){
System.out.println("this
is
Out
showing.");
}
}
public
class
InterFaceDemo03{
public
static
void
main(String[]
args){
new
MyInterface(){
public
void
sayHello(){
System.out.println("Hello");
}
}.sayHello();
}
}
/*
将接口注释掉
同样可以实现
*/
interface
MyInterface{
void
sayHello();
}

2. java 嵌套类 访问方法

首先打印的结果是
3
4
5

3是函数体test的私有变量,在函数test内可见,除了这个范围就不可见;
4是函数test所从属的类实例的变量,即inner类实例的变量,仅在inner类实例的范围内可见;
5是Outer类实例的变量i,不是指inner类。
你要记住,在Java中,this关键字指的是某个类的实例,Outer.this指的是Outer类的实例;如果this前面没有指定范围,那么this指的是本类的作用域范围,在函数体test中,this的范围只能向上延伸至inner

3. 在JAVA里,一个类里可以嵌套另一个类吗

可以,java里在一个类中定义另一个类,这个类被成为内部类。
java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类 。

4. java 类的嵌套引用

类似下面的这种:
public class DLTNode(){
public int hh(int n){
if (n == 1){
return 1;
} else{
return n * DLTNode(n - 1);
}
}
}

5. java内部类的静态嵌套类

静态内部类中可以定义静态或者非静态的成员。
从技术上讲,静态嵌套类不属于内部类。因为内部类与外部类共享一种特殊关系,更确切地说是对实例的共享关系。而静态嵌套类则没有上述关系。它只是位置在另一个类的内部,因此也被称为顶级嵌套类。
静态的含义是该内部类可以像其他静态成员一样,没有外部类对象时,也能够访问它。静态嵌套类仅能访问外部类的静态成员和方法。
class Outer{
static class Inner{}
}
class Test {
public static void main(String[] args){
Outer.Inner n = new Outer.Inner();
}
}
在静态方法中定义的内部类也是StaticNested Class,这时候不能在类前面加static关键字,静态方法中的StaticNested Class与普通方法中的内部类的应用方式很相似,它除了可以直接访问外部类中的static的成员变量,还可以访问静态方法中的局部变量,但是,该局部变量前必须加final修饰符。
为什么需要内部类
典型的情况是,内部类继承自某个类或实现某个接口,内部类的代码操作创建其的外围类的对象。所以你可以认为内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是:
每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。从这个角度看,内部类使得多重继承的解决方案变得完整。接口解决了部分问题,而内部类有效地实现了“多重继承”。

6. java程序中,类可不可以嵌套定义

可以的,比如内部类,匿名类都是一种嵌套格式,l如果定义为嵌套格式的,在代码共享上,势必会受到影响,但是原则上是都可以的。定义的:
class a {
private class b{
Integer i = new Integer(0);
}
void geti() {
b c = new b();
System.out.println(c);
}
}

7. 如何在网页上嵌套java程序

首先静态的html标签是无法直接调用java程序的。
下面是实现的几种方法:

第一种方法:
将按钮放到form表单中,当按钮点击时提交表单(或者直接将input的type属性定义成submit),表单可以指向JSP或Servlet,在JSP或Servlet里调用java程序

第二种方法:
在按钮的onclick时间中添加js代码
self.location="url";其中url指向JSP或Servlet

第三种方法:
使用第三方的javascript包,dwr是一个不错的选择:
1、需要准备dwr的jar包,并将之放到lib目录下;
2、修改web.xml文件,添加DWRServlet的映射;
3、配置dwr,即在WEB-INF目录下,添加dwr.xml文件,让dwr知道在运行时给哪些JavaBean生成相应的javascript库;
4、将需要的脚本库引入到html页面中就可以通过dwr的API访问java类了。

第四种方法:
使用MVC框架更简单,以struts为例,可以仿照第一或第二种方法,将url替换成配置文件中配置的地址就能访问java程序了。

8. JAVA内部类嵌套问题

首先,你这样ABC的动态嵌套肯定有严重误用的嫌疑。。
如果要强行引用A的实例对象中成员,写法是A.this.methodOfA();

public void fun() {
System.out.println(A.this.propertyX);
A.this.methodOfA();
}
如果内层类不是随着外层类的实例对象的内容变化而变化,内层类要加static class C设为静态类。可减少一个数量级的不必要的资源浪费。
如果内层类是公用的,被别的类调用很多或逻辑从属关系不明显,还要考虑不写成内层类。单独写一个java文件。

9. java中的容器类可以嵌套吗

可以的 他们都是对象

10. 请问,java的嵌套类有什么作用

关于这个问题,有相关的文章专门解释了你的问题,文章链接:网页链接

请采纳!

阅读全文

与java类的嵌套相关的资料

热点内容
成都市区建成面积算法 浏览:656
智能家居单片机 浏览:93
买男装用什么app好 浏览:851
文件夹合并了怎么拆开 浏览:256
波段副图源码无未来函数 浏览:84
livecn服务器地址 浏览:257
程序员这个工作真的很吃香吗 浏览:844
程序员和数学分析师待遇 浏览:678
压缩气弹簧怎么拆 浏览:321
华为公有云服务器添加虚拟ip 浏览:209
程序员和运营哪个累 浏览:24
抖音安卓信息提示音怎么设置 浏览:454
光速虚拟机的共享文件夹 浏览:248
程序员培训机构发的朋友圈真实性 浏览:742
天干地支简单算法 浏览:299
下载个压缩文件 浏览:300
普通人电脑关机vs程序员关机 浏览:628
米酷建站源码 浏览:115
氢气app怎么搜搭配 浏览:619
pdf绿盟 浏览:505