1.构造器(或构造方法):
构造器的作用:
- 1.创建对象
- 2.初始化对象的信息
只要造对象就得用构造器,这句话恒成立 高级要将反射。大家从形式上1看不到那个new了,有另外的方法去创造对象,不能误认为不再调用构造器,而是采用别的办法进行造对象,java提供的构造器就是用来造对象,所以一个类永远都有构造器,以此防止用户随时造对象的可能性
2.使用说明: - 1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器 构造器也有权限修饰符,提供默认的空参的构造器 权限修饰符就得看所在类是什么权限修饰符了
- 2.定义构造器的格式:权限修饰符 类名(与new出来的那个同名)(形参列表){}
- 3.一个类中定义的多个构造器,彼此构成重载
- 4.一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器
- 5.一个类中,至少会有一个构造器。
• */
public class PersonTest {
public static void main(String[] args) {
//创建类的对象:new + 构造器
Person p = new Person();// p.eat();
// Person p1 = new Person(“Tom”);
//
// System.out.println();
//如果没有构造器。。只能通过set方法或自己写一个方法进行调用
}
class Person{
//属性
String name;
int age;//构造器
public Person(){
System.out.println("Person().....");
}
public Person(String n){
name = n;//造对象的同时把name值给赋上
}//
public Person(String n,int a){
name = n;
age = a;
}//方法
public void eat(){
System.out.println("人吃饭");
}
public void study(){
System.out.println("人可以学习");
}3.举例:
一、没有参数的构造方法:当new出来一个对象进行传参时,直接传给构造器中的参数,因为构造器的目的就是为了对属性的初始化操作,之前没有写比如person s=new person();是因为系统默认提供了一个class person(){},实际上也是进行了初始化操作,只是我们不知道而已,现在若果要在构造器的基础上实现构造器的重载操作,那么要将这个也默认的构造器显示的表现出来比如下初始化操作,当测试类中要是没有用到person s=new person()可以不写它,,此时也只能通过get和set方法进行传递参数和接收参数修改私有属性的值,在测试类中get获取的只是修稿过后的属性值
二、有参数的构造方法:person s=new person(String name)直接传给相应的参数,修改私有属性的值通过get方法进行接收,可以没有set方法,但是要是在不同的类中进行调用那么就得有set方法,在测试类中get获取的只是修稿过后的属性值
1.没有参数的构造方法调用

2.有参数的构造方法调用

3.有参数的构造方法通过set方法修改属性值
在这里插入图片描述

















