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

网业认证怎么操作网站怎么优化seo

网业认证怎么操作,网站怎么优化seo,dreamware怎么做网站,建设工程施工合同下载什么情况下存在默认构造函数 说明 如果一个Java类没有显式包含构造函数的声明,那么隐含着有一个默认构造函数。 示例 定义一个类B,没有显式声明构造函数,所以存在一个默认构造函数: package com.thb;public class B {public …

什么情况下存在默认构造函数

说明

如果一个Java类没有显式包含构造函数的声明,那么隐含着有一个默认构造函数。

示例

定义一个类B,没有显式声明构造函数,所以存在一个默认构造函数:

package com.thb;public class B {public void method() {}
}

定义一个类C,显式声明了一个带参数的构造函数,所以就不存在默认构造函数:

package com.thb;public class C {private String msg;public C(String msg) {this.msg = msg;}public void method() {}
}

定义一个类Test1 ,调用类B和类C:

package com.thb;public class Test1 {public static void main(String[] args) {// 类B没有声明构造函数,所以会隐含着有一个默认构造函数B b = new B();b.method();// 如果去掉下面代码前面的注释就会编译出错,因为类C中已经明确声明了一个带参数的构造// 函数,就不会有默认构造函数了// C c = new C();  C c = new C("hello");  // 调用类C声明的构造函数c.method();		}

默认构造函数的形式

一个顶层类、成员类、局部类的默认构造函数形式如下:

默认构造函数的访问修饰符

说明

默认构造函数的访问修饰符和类的访问修饰符相同;如果类没有显式声明访问修饰符,那么默认构造函数是包的访问修饰符。

示例—类用public修饰

定一个类B,用public修饰,没有声明构造函数,所以存在一个默认构造函数:

package com.thb;public class B {public void method() {}
}

打开类B编译后的class文件,可以发现,因为类B的访问控制修饰符是public,所以默认构造函数的访问控制修饰符也是public:

// Compiled from B.java (version 18 : 62.0, super bit)
public class com.thb.B {// Method descriptor #6 ()V// Stack: 1, Locals: 1public B();0  aload_0 [this]1  invokespecial java.lang.Object() [8]4  returnLine numbers:[pc: 0, line: 3]Local variable table:[pc: 0, pc: 5] local: this index: 0 type: com.thb.B// Method descriptor #6 ()V// Stack: 0, Locals: 1public void method();0  returnLine numbers:[pc: 0, line: 5]Local variable table:[pc: 0, pc: 1] local: this index: 0 type: com.thb.B
}

示例—类没有显式声明访问控制修饰符

定义类D,没有显式声明访问控制修饰符,即表示是包访问控制:

package com.thb;class D {}

打开类D编译后的class文件,可以发现,默认构造函数也没有注明访问控制修饰符,即是包访问控制:

// Compiled from D.java (version 18 : 62.0, super bit)
class com.thb.D {// Method descriptor #6 ()V// Stack: 1, Locals: 1D();0  aload_0 [this]1  invokespecial java.lang.Object() [8]4  returnLine numbers:[pc: 0, line: 3]Local variable table:[pc: 0, pc: 5] local: this index: 0 type: com.thb.D
}

默认构造函数没有形式参数(非private的内部成员类除外)

说明

默认构造函数没有形式参数,非private的内部成员类除外。
非private的内部成员类的默认构造函数有一个形式参数,这个形式参数类型是包裹内部成员类的外部类。

示例:非private的内部成员类的默认构造函数

定义一个类E,在其内部定义一个非private的成员类AnotherInE :

package com.thb;public class E {class AnotherInE {}
}

打开类E 编译后的class文件,可以发现它有一个没有形式参数的默认构造函数:

// Compiled from E.java (version 18 : 62.0, super bit)
public class com.thb.E {// Method descriptor #6 ()V// Stack: 1, Locals: 1public E();0  aload_0 [this]1  invokespecial java.lang.Object() [8]4  returnLine numbers:[pc: 0, line: 3]Local variable table:[pc: 0, pc: 5] local: this index: 0 type: com.thb.EInner classes:[inner class info: #17 com/thb/E$AnotherInE, outer class info: #1 com/thb/Einner name: #19 AnotherInE, accessflags: 0 default]Nest Members:#17 com/thb/E$AnotherInE
}

打开内部类AnotherInE 编译后的class文件,可以发现内部成员类的默认构造函数有一个形式参数,类型是包裹它的类E:

// Compiled from E.java (version 18 : 62.0, super bit)
class com.thb.E$AnotherInE {// Field descriptor #6 Lcom/thb/E;final synthetic com.thb.E this$0;// Method descriptor #8 (Lcom/thb/E;)V// Stack: 2, Locals: 2E$AnotherInE(com.thb.E arg0);0  aload_0 [this]1  aload_1 [arg0]2  putfield com.thb.E$AnotherInE.this$0 : com.thb.E [10]5  aload_0 [this]6  invokespecial java.lang.Object() [12]9  returnLine numbers:[pc: 0, line: 5]Local variable table:[pc: 0, pc: 10] local: this index: 0 type: com.thb.E.AnotherInEInner classes:[inner class info: #1 com/thb/E$AnotherInE, outer class info: #22 com/thb/Einner name: #24 AnotherInE, accessflags: 0 default]Nest Host: #22 com/thb/E
}

默认构造函数没有throws 子句

默认构造函数体的内容

说明

如果声明的是基本类Object,那么默认构造函数体是空的。如果声明的是其它的类,在默认构造函数体内调用父类的没有形式参数的构造函数。

示例----在子类的默认构造函数体内调用父类的没有形式参数的构造函数

定义类B:

package com.thb;public class B {public void method() {}
}

定义B的子类BB:

package com.thb;public class BB extends B {}

打开类BB编译后的class文件,可以发现它的默认构造函数体内调用父类B的没有形式参数的构造函数:

// Compiled from BB.java (version 18 : 62.0, super bit)
public class com.thb.BB extends com.thb.B {// Method descriptor #6 ()V// Stack: 1, Locals: 1public BB();0  aload_0 [this]1  invokespecial com.thb.B() [8]4  returnLine numbers:[pc: 0, line: 3]Local variable table:[pc: 0, pc: 5] local: this index: 0 type: com.thb.BB
}

编译出错示例—子类没有显式定义造函数,但父类没有这样一个构造函数:无形式参数并且无throws 子句

定义一个类B,显式定义了一个带形式参数的构造函数,但没有定义无形式参数且没有throws 子句的构造函数:

package com.thb;public class B {private String name;public B(String name) {this.name = name;}public void method() {}
}

定义类B的子类BB,BB中没有显式定义构造函数,编译出错:
在这里插入图片描述
在这里插入图片描述

http://www.hengruixuexiao.com/news/32167.html

相关文章:

  • 做推广效果哪个网站好网站案例分析
  • 网站怎么做伪静态页面网络营销的优化和推广方式
  • 网站怎样做优惠卷推广app拉人头赚钱
  • 忘记网站后台地址网络营销推广策划
  • 怎么样创建做零食山楂的网站盘古搜索
  • 旅游网站建设策划书学seo哪个培训好
  • 重庆专业网站定制体彩足球竞彩比赛结果韩国比分
  • wordpress视频自动播放seo综合查询中的具体内容有哪些
  • 公司网站设计注意事项推广普通话手抄报内容文字
  • 好的摄影作品网站免费个人网站制作
  • 佛山seo教程谷歌优化方法
  • 孟村做网站价格在百度上怎么发布广告
  • swf格式网站链接怎样做关键词林俊杰
  • 手表网站查询seo优化系统
  • 不会写代码怎么做网站宣传推广
  • 网站建设开发三层架构网络营销策划案例
  • 企业网站建设 网络服务seo建设招商
  • 开发游戏用什么编程软件武汉seo关键词排名
  • python可以做app开发吗高端网站优化公司
  • 电商培训网站seo主要做什么工作
  • 赤峰建网站的电话如何做网站关键词优化
  • 企业地址如何地图添加seo推广教程seo推广技巧
  • 免费商城网站建站系统直播代运营公司
  • 满洲里做网站班级优化大师app下载
  • 商城网站建设开发公司百度指数查询官网入口登录
  • python编程网站推荐互联网电商平台有哪些
  • 微信公众平台一定要找网站做吗怎样宣传网站
  • 兰州市生态建设管理局网站seo优化推广专员招聘
  • 郑州彩票网站开发经典软文案例50字
  • 如何建立自己的网络销售站内关键词排名优化软件