目录
♦️构造方法
🎃无参数构造方法(空参构造)
初始化对象时,成员变量均采用默认值
空参构造格式:
pubic class...{ 修饰符 类名(){} } //注:括号中无参数
完整代码:
🎃有参数构造方法
在初始化对象时,同时可以为成员变量赋值
有参构造格式:
pubic class...{ 修饰符 类名(参数) { 方法体; } }
完整代码:
class Student { //属性 private String name; private int age; //括号中无参数 //当我们没有写任何构造方法,那么虚拟机会给我们加一个空参构造方法 public Student(){ System.out.println("看看我是否被调用"); } public Student(String name,int age) { this.name=name; 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 class StudentTest { public static void main(String[] args) { //创建对象 Student s=new Student("zhangsan",18); System.out.println(s.getName()); System.out.println(s.getAge()); } }
注:运行结果没有执行无参构造方式
注意事项:
- 任何类定义出来,默认就自带了无参数构造器,写不写都有。
- 一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。
- 建议在任何时候都手动写上空参和带全部参数的构造方法
♦️this关键字
🎃就近原则
就近原则是指当Java虚拟机(JVM)执行方法调用或变量访问时,它会首先在当前作用域内查找匹配的方法或变量。如果当前作用域没有找到,它会继续向外层作用域逐级查找,直到找到为止。如:
🎃使用this关键字调用本类中的属性
原代码:
import java.util.Scanner; class Student { //属性 String name=; int age; //空参构造方法 public Student() {} public Student(String name, int age) { name = name;//将name本身赋值给name age = age;//将age本身赋值给age } } public class Main { public static void main(String[] args) { //创建对象 Student s = new Student("zhangsan", 18); System.out.println(s.name); System.out.println(s.age); } }
使用this后:
import java.util.Scanner; class Student { //属性 String name; int age; //空参构造方法 public Student() {} public Student(String name, int age) { this.name = name; this.age = age; } } public class Main { public static void main(String[] args) { //创建对象 Student s = new Student("zhangsan", 18); System.out.println(s.name); System.out.println(s.age); } }
🎃使用this关键字调用成员方法
import java.util.Scanner; class Student { //属性 String name; int age; public void Walk() { System.out.println("走路"); } public void Talk() { this.Walk();//调用成员方法 } } public class Main { public static void main(String[] args) { //创建对象 Student s = new Student(); s.Talk(); } }
🎃使用this关键字调用构造方法
import java.util.Scanner; class Student { //属性 String name; int age; //空参构造方法 public Student() { System.out.println("调用了无参构造方法"); } public Student(String name, int age) { this();//调用无参构造方法 this.name = name; this.age = age; } } public class Main { public static void main(String[] args) { //创建对象 Student s = new Student("zhangsan", 18); System.out.println(s.name); System.out.println(s.age); } }
♦️标准javabean类
🎃格式
① 类名需要见名知意
② 成员变量使用private修饰
③ 提供至少两个构造方法
- 无参构造方法
- 带全部参数的构造方法
④ 成员方法
提供每一个成员变量对应的setXxx()/getXxx()
如果还有其他行为,也需要写上
🎃示例代码
import java.util.Scanner; class Student { //属性,成员变量用private修饰 private String name; private int age; //空参构造方法 public Student(){} //有参数构造方法 public Student(String name,int age) { this.name=name; this.age=age; } //成员变量对应的get,set 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 class Main { public static void main(String[] args) { //创建对象 Student s=new Student("zhangsan",18); System.out.println(s.getName()); System.out.println(s.getAge()); } }
🎃快捷键
按键:alt+insert或者alt+insert+fn
步骤: