Java程序设计之Constructor
插入段代码,下次回忆吧。
先新建一个Person类,代码如下:
public class Person {
private String name ;
private int age;
public Person(){
}
public Person(String name,int age){
this.name = name ;
this.age = age;
}
Person(String name){
this.name = name;
}
private Person(int age){
this.age = age;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
public String toString(){
return "姓名"+this.getName()+",年龄"+this.getAge();
}
}
里面包含了各种构造方法和方法,下面构造一个ConstructorDemon类(注意两个类必须在同一个包下),进行演示:
public class ConstructorDemon {
public static void main(String[] args) {
try {
Class<?> c = Class.forName("Person");
//获得所有公有的构造方法
System.out.println("所有共育肚饿构造方法");
Constructor[] constructor = c.getConstructors();
for(int i = 0;i<constructor.length;i++){
System.out.println(constructor[i].toGenericString());
}
//获得指定参数类型公有的参数方法
System.out.println("获得指定类型的公有的构造方法");
try {
Constructor constru = c.getConstructor(new Class[]{String.class,int.class});
System.out.println(constru.toGenericString());
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("指定类型的构造方法不存在!");
}
//获得指定的参数类型的公有方法,不限制访问级别
System.out.println("获得指定类型的公有的构造方法,不限制访问级别");
try{
Constructor constru = c.getDeclaredConstructor(new Class[]{int.class});
System.out.println(constru.toGenericString());//这里获得了一个私有的构造方法
}catch(Exception e){
e.printStackTrace();
}
//获得所有的构造方法
System.out.println("获得所有的构造方法");
constructor = c.getDeclaredConstructors();
for(int i = 0;i<constructor.length;i++){
System.out.println(constructor[i].toGenericString());
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
点击运行之后,运行结果如下:
所有共育肚饿构造方法
public Person(java.lang.String,int)
public Person()
获得指定类型的公有的构造方法
public Person(java.lang.String,int)
获得指定类型的公有的构造方法,不限制访问级别
private Person(int)
获得所有的构造方法
private Person(int)
Person(java.lang.String)
public Person(java.lang.String,int)
public Person()
Java程序设计之Constructor的更多相关文章
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 201521123082《Java程序设计》第4周学习总结
201521123082<Java程序设计>第4周总结 标签(空格分隔): java 1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内 ...
- 201521123038 《Java程序设计》 第四周学习总结
201521123038 <Java程序设计> 第四周学习总结 1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.通过 ins ...
- 201521123038 《Java程序设计》 第三周学习总结
201521123038 <Java程序设计> 第三周学习总结 1. 本周学习总结 附大图链接 http://naotu.baidu.com/file/5774caa2be710afbc0 ...
- 201521123072《java程序设计》第三周学习总结
201521123072<java程序设计>第三周学习总结 标签: java学习 1. 本周学习总结 2. 书面作业 1,代码阅读 public class Test1 { private ...
- 20172306《Java程序设计与数据结构》第八周学习总结
20172306<Java程序设计>第8周学习总结 教材学习内容总结 第十章最开始自己看的时候,没怎么看懂,等老师讲完之后,又看了一遍,就理解了很多.第十章主要学习了以下几点: 1.对于几 ...
- 20172306《Java程序设计》第五周学习总结
20172306 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第五章主要学习了if以及while的语句的运用 运算符:== 代表相等,是两个之间的内存地址 ...
- 20155312 2016-2017-2 《Java程序设计》第七周学习总结
20155312 2016-2017-2 <Java程序设计>第七周学习总结 课堂内容总结 read()每次读入一个字节. eg:short2个字节,2=0x0201,读入后要0x < ...
- 20172330 2017-2018-1 《Java程序设计》第六周学习总结
学号 2017-2018-2 <程序设计与数据结构>第六周学习总结 教材学习内容总结 这一章主要是对数组的学习: 数组是一种简单而功能强大的编程语言结构,用于分组和组织数据.在java中, ...
随机推荐
- IEEE浮点标准
原文地址:http://www.math.byu.edu/~schow/work/IEEEFloatingPoint.htm Floating point system Floating point ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(55)-工作流设计-表单布局
系列目录 前言:这一节比较有趣.基本纯UI,但是不是很复杂 有了实现表单的打印和更加符合流程表单方式,我们必须自定义布局来适合业务场景打印!我们想要什么效果?看下图 (我们没有布局之前的表单和设置布局 ...
- 学习ASP.NET Core,你必须了解无处不在的“依赖注入”
ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要 ...
- 填坑系列:通过ESXi来配置IPMI
近日西安的天气很不错,可是看到从其他地方迁移来的主机在新环境下无法远程调试怪郁闷的,这就需要填坑,要不就会给后来者挖更大的坑. 今天遇到的坑是在IPMI的网络设置里面启用了VLAN标签之后,在新环境下 ...
- 读书笔记--SQL必知必会10--分组数据
10.1 数据分组 使用分组可以将数据分为多个逻辑组,对每个组进行聚集计算. 10.2 创建分组 使用SELECT语句的GROUP BY子句建立分组. GROUP BY子句必须出现在WHERE之后,O ...
- .NET 开源SqlServer ORM框架 SqlSugar 3.0 API
3.1.x ,将作为3.X系统的最后一个版本,下面将会开发 全新的功能 更新列表:https://github.com/sunkaixuan/SqlSugar/releases 优点: SqlSuga ...
- php内核分析(四)-do_cli
这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux # main 把剩下的代码增加了下注释全部贴出来了(这个是简化后的main函数,去掉了一些无关紧要的代码段): int m ...
- [函數] Firemonkey Android 取得系统参数设定的字型大小
Android 系统参数设定内,可以设定字型大小: 可以透过下面代码来取得字型大小比例: function FontScale: Single; var Resources: JResources; ...
- Servlet3.0的动态
动态的创建是为了简化配置文件的.对于我们创建的servlet,filter和listener后可以使用.这也是注解的另外一种替代方式. 动态的添加有两种,一种是基于ContextListener的,另 ...
- perl 如何匹配ASCII码以及ASCII码转换
匹配ASCII码: /[:ascii:]/ ASCII码转换为数字: ord() 数字转换为ASCII码: chr()