• Java 基础(构造器,属性赋值先后顺序)


    构造器

    构造器的作用:

    • 创建对象
    • 初始化对象的属性

    说明:

    1. 如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器
    2. 定义构造器的格式: 权限修饰符 类名(行参列表){}
    3. 一个类中定义的多个构造器,彼此构成重载
    4. 一旦我们显示的定义了类的构造器之后,系统就不再提供默认的空参构造器
    5. 一个类中,至少会有一个构造器

    构造器的特征:

    • 它具有与类相同的名称
    • 它不声明返回值类型。(与声明为void不同)
    • 不能被 static、final、synchronized、abstract、native修饰,不能有return语句返回值
    public class PersonTest {
    	public static void main(String[] args) {
    		// 创建构造器对象:new + 构造器
    		Person p = new Person();
    		
    		p.eat();
    		
    		Person p1 = new Person("Tom");
    		
    		System.out.println(p1.name);
    	
    	}
    
    }
    
    class Person{
    	//属性
    	String name;
    	int age;
    	
    	//构造器
    	public Person() {
    		System.out.println("Person()........");
    	}
    	
    	public Person(String n) {
    		name = n;
    	}
    	
    	public Person(String n, int a) {
    		name = n;
    		age = a;
    	}
    	
    	public void eat() {
    		System.out.println("人吃饭");
    	}
    	
    	public void study() {
    		System.out.println("人可以学习");
    	}
    }
    
    

    运行结果:

    属性赋值先后顺序

    1. 默认初始化
    2. 显式初始化
    3. 构造器中赋值
    4. 通过 "对象.方法" 或 "对象.属性" 的方式赋值
    public class UserTest {
    	public static void main(String[] args) {
    		User u = new User();
    		
    		System.out.println(u.age);     // 1
    		
    		User u1 = new User(2);
    		System.out.println(u1.age);    // 2
    		
    		User u2 = new User(2);
    		u2.setAge(3);
    		System.out.println(u2.age);    // 3
    	}
    
    }
    
    class User{
    	String name;
    	int age = 1;
    	
    	public User() {
    		
    	}
    	
    	public User(int a) {
    		age = a;
    	}
    	
    	public void setAge(int a) {
    		age = a;
    	}
    }
    
  • 相关阅读:
    在命令行下运行Matlab
    VMWare无法共享文件夹(Win7宿主机Ubuntu14.04客户机)
    [转] CVonline: Image Databases
    第二天
    第一天
    二宝软件的NABCD分析
    用c++实现环形数组的最大子数组之和
    返回一个二维整数数组中最大子数组的和
    求最大子数组之和
    四则运算
  • 原文地址:https://www.cnblogs.com/klvchen/p/14348955.html
Copyright © 2020-2023  润新知