当前位置: 首页 > news >正文

做的网站名新闻头条今日新闻

做的网站名,新闻头条今日新闻,北京食药局网站年检怎么做,单机做游戏 迅雷下载网站内部类的概念 在 Java 中,内部类是定义在另一个类或者方法的内部的类。内部类可以访问外部类的所有成员和方法,同时可以被外部类和其他类所访问。内部类可以分为四种类型:静态内部类、成员内部类、局部内部类和匿名内部类。 静态内部类 静…

内部类的概念

在 Java 中,内部类是定义在另一个类或者方法的内部的类。内部类可以访问外部类的所有成员和方法,同时可以被外部类和其他类所访问。内部类可以分为四种类型:静态内部类、成员内部类、局部内部类和匿名内部类。

静态内部类

静态内部类是被声明为静态的内部类,它可以访问其外部类的静态成员,但不能访问其外部类的非静态成员。在声明静态内部类时,需要加上 static 关键字,例如:

class Outer {static class Inner {public void hello() {System.out.println("Hello from Inner class");}}
}

在上面的例子中,我们声明了一个静态内部类 Inner,并定义了一个方法 hello。

静态内部类可以通过其外部类的名字来访问,例如:

Outer.Inner inner = new Outer.Inner();
inner.hello();

在上面的例子中,我们通过 Outer.Inner 来访问内部类,并调用它的方法 hello。

成员内部类

成员内部类是被声明在外部类的成员位置上的类。与静态内部类不同的是,它可以访问外部类的所有成员,包括非静态成员和静态成员。成员内部类需要在外部类的方法中进行实例化,例如:

class Outer {private int x = 10;class Inner {public void hello() {System.out.println("Hello from Inner class, x is " + x);}}
}Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.hello();

在上面的例子中,我们声明了一个成员内部类 Inner,它可以访问外部类的属性 x。通过调用 outer.new Inner() 来进行实例化。

局部内部类

局部内部类是被声明在方法内部的类。局部内部类可以访问外部类的成员和方法,但只能在声明它的方法中使用。例如:

public class Outer {private int x = 10;public void test() {class Inner {public void hello() {System.out.println("Hello from Inner class, x is " + x);}}Inner inner = new Inner();inner.hello();}
}Outer outer = new Outer();
outer.test();

在上面的例子中,我们声明了一个局部内部类 Inner,并访问了外部类的属性 x。在 test 方法中,创建了一个 Inner 的实例来调用它的方法 hello。

匿名内部类

匿名内部类是没有名字的内部类,它通常用于创建只需要使用一次的类。匿名内部类需要继承一个父类或者实现一个接口,同时也可以访问其外部类的成员和方法。例如:

public class Outer {interface Inner {void hello();}public void test() {Inner inner = new Inner() {@Overridepublic void hello() {System.out.println("Hello from anonymous Inner class");}};inner.hello();}
}Outer outer = new Outer();
outer.test();

在上面的例子中,我们定义了一个接口 Inner,并在 test 方法中创建了一个匿名内部类来实现它的方法。

内部类在 Builder 模式中的使用

在 Builder 模式中,内部类可以帮助我们更方便地创建对象,并且可以保证对象在构造过程中不可变。例如:

public class Person {private final String firstName;private final String lastName;private final int age;private final String gender;private final String phone;private Person(Builder builder) {this.firstName = builder.firstName;this.lastName = builder.lastName;this.age = builder.age;this.gender = builder.gender;this.phone = builder.phone;}public static class Builder {private String firstName;private String lastName;private int age;private String gender;private String phone;public Builder firstName(String firstName) {this.firstName = firstName;return this;}public Builder lastName(String lastName) {this.lastName = lastName;return this;}public Builder age(int age) {this.age = age;return this;}public Builder gender(String gender) {this.gender = gender;return this;}public Builder phone(String phone) {this.phone = phone;return this;}public Person build() {return new Person(this);}}
}

在上面的例子中,我们定义了一个 Person 类,它的属性可以通过 Builder 模式来设置。在 Builder 类中,每个属性都对应一个方法来设置。最后,通过 build 方法来构造 Person 对象。由于 Builder 类是 Person 类的静态内部类,因此只能通过 Person.Builder 来访问它。这样可以保证 Person 对象在构造过程中是不可变的,同时也方便了我们的创建过程。

下面是一个使用 Builder 模式构造 Person 对象的例子:

Person person = new Person.Builder().firstName("John").lastName("Doe").age(30).gender("Male").phone("1234567890").build();

总结

内部类是一种定义在另一个类或方法内部的类,它可以访问外部类的所有成员和方法。Java 中有四种类型的内部类:静态内部类、成员内部类、局部内部类和匿名内部类。不同类型的内部类有不同的特点和用途。在 Builder 模式中,内部类可以帮助我们更方便地创建对象,并且可以保证对象在构造过程中不可变,同时也方便了我们的创建过程。内部类的使用可以提高代码的可读性和可维护性,值得我们在开发中多加尝试。

http://www.mmbaike.com/news/68780.html

相关文章:

  • 做购物网站费用宁波seo运营推广平台排名
  • 西安网站 技术支持牛商网seo网站推广有哪些
  • 联通做网站seo技术大师
  • wordpress 主题加速seo计费系统开发
  • 制作网站公司 英语网站首页网络广告营销成功案例
  • python做网站显示表格舆情管理
  • 网站开发问题解决百度小程序seo
  • 上海病毒感染最新情况网站优化人员通常会将目标关键词放在网站首页中的
  • 做竞品分析去哪个网站整合营销案例举例说明
  • 去哪里学做网站app谷歌seo外包
  • 屏蔽某网站怎么做优化设计电子课本
  • 建设信用卡网站是什么北京seo优化厂家
  • 三五互联网站管理登录地址网络营销出来可以干什么工作
  • 做微商进哪个网站安全吗爱站网站
  • 视频播放网站建设谷歌seo价格
  • 参与赌博网站建设百度一下百度一下
  • 中企建网站广东百度seo关键词排名
  • 延平网站建设wzjseo东莞网络优化公司
  • 上海外贸网站推广服务公司软文推广
  • dw怎么做网站的导航栏兰州网络推广技术
  • 做网站源码需要多少钱seo是哪个英文的缩写
  • 新加坡网站制作网络推广员有前途吗
  • 乐清做网站公司治疗腰椎间盘突出的特效药
  • 大陆做爰视频网站如何做好企业网站的推广
  • 广州建网站的公司有哪些什么软件可以排名次
  • 济南集团网站建设方案网站建设黄页在线免费
  • 免费wordpress网店seo排名优化
  • 北京制作网站的公司项目推广方案
  • 网站推广怎么做与发布站长之家seo工具包
  • led网站建设百度关键字推广费用