-
java 构造方法(基础)
java构造方法(基础)
构造方法也叫构造器,是创建对象时执行的特殊方法,一般用于初始化新对象的属性。它是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
格式
public 类名称 (参数类型 参数名称){
方法体
}
例如代码:
//一个无参构造的方法
public Student(){
System.out.println("无参构造执行");
}
那么一个有参构造的方法体
public Student(String name,int age){
System.out.println("有参构造执行");
this.name=name;//方便我们调用参数
this.age=age;
}
写构造方法时需要注意的事项:
1.构造方法的名称必须与前面的类的名称相同。大小写也要一样。
2.构造方法不需要返回值类型,所以不需要写void。
3.在构造方法体内不能返回具体的值。
4.当我们在一个类中不写构造方法时 ,编译器会默认给我们一个构造方法。且没有参数,方法体也没啥事干。
5.但如果我们要是写了一个以上(至少一个)的构造方法,编译器就不会再给我们构造方法。
6.我们写的构造方法也是可以重载的,(方法重载:方法名相同,参数列表不同)
java方法基础
可以点击上面链接查看方法基础。
构造方法的重载:
代码:
//一个无参构造的方法
public Student(){
System.out.println("无参构造执行");
}
//一个有参构造的方法
public Student(String name,int age){
System.out.println("有参构造执行");
this.name=name;
this.age=age;
}//方法名相同,参数列表不同
构造方法完整代码应用:
package Day01;
//首先我们写一个Student类
public class Student {
private String name;//两个成员变量
private int age;
//我们来获取这两个private类型的变量,getter/setter方法。因为他们是private类型
// 可以使用快捷键alt+insert 生成getter/setter方法,光标放在要生成方法的变量上。
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 Student(){
System.out.println("无参构造执行");
}
//一个有参构造的方法
public Student(String name,int age){
System.out.println("有参构造执行");
this.name=name;
this.age=age;
}
}
写一个测试类调用
package Day01;
public class DemoStudent {
public static void main(String[] args) {
Student stu1 = new Student();//调用时直接new,执行无参构造
System.out.println("***************");
Student stu2 = new Student("王八",20);//全参构造
System.out.println("姓名:" + stu2.getName()+",年龄 :" + stu2.getAge());
//如果需要改变对象中的成员变量的内容,仍然需要使用setXxxx方法
stu2.setAge(21);
System.out.println("姓名:" + stu2.getName()+",年龄 :" + stu2.getAge());
}
}
有错误感谢指正。
出处:https://www.cnblogs.com/kuangsun125/p/15143782.html
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比