zoukankan      html  css  js  c++  java
  • 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;
    	}
    }
    
  • 相关阅读:
    Linux/ visual studio 编译使用Poco
    无法安装 golang.org/x/tools/的库
    大牛blog汇总
    Redis整合Spring结合使用缓存实例
    js增加收藏
    iOS学习笔记12-网络(一)NSURLConnection
    Kick the ball!(dfs)湖南省赛第十届
    windows程序设计——飞机大战笔记(Access数据库的使用)
    DataGridView.DataSource= list(Of T)
    面试之SQL(1)--选出选课数量>=2的学号
  • 原文地址:https://www.cnblogs.com/klvchen/p/14348955.html
Copyright © 2011-2022 走看看