java 创建类构造方法

java 构造方法

//创建student类
package cn.edu.hpu.test2;

public class Student {

	private String name;
	private int age;
	private String hobby;
	
	/*
	 * 使用private修饰后,不能再被其他类访问
	 * 用setter方法赋值,getter方法取值
	 * 可以在方法中加入条件,控制属性值,避免被赋予取值范围外的错误的值
	 * */
	public String getName() {
		return name;
		
	}
	
	public void setName(String name) {
		this.name = name;
	}

	public void setAge(int age) {
		if(age>=0 && age<=150) {
			
			this.age=age;
		}
		else{
			this.age=21;
			System.out.println("age is wrong! default is 21");
		}
	}
	
	public int getAge() {
		return age;
	}
	
	public void setHobby(String hobby) {
		this.hobby=hobby;
	}
	
	public String getHobby() {
		return this.hobby;
	}
	
	public void printHobby()
	{
		System.out.println(name+" like "+hobby);
	}
	
	public void print()
	{
		printHobby();
	} 
	
	public Student(String name) {
		this.name=name;
		/*构造方法,使创建这个类时可以用参数赋值*/
	}
	
	public Student(String name,String hobby,int age) {
		/*重载,方法名相同,但形参列表不同*/
		this(name);
		/* 调用构造方法,每个方法中只能有一次,并且在第一行 */
		this.hobby=hobby;
		this.age=age;
	}
}

实例化一个Student类的对象,通过输入作为参数,赋值给对象的属性
package cn.edu.hpu.test2;

import java.util.Scanner;

public class TestStudent {
	public String inputName(Scanner input) {
		System.out.println("who:");
		String name=input.next();
		return name;
	}
	public String inputHobby(Scanner input) {
		System.out.println("what:");
		String hobby=input.next();
		return hobby;
	}

	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		/*	Scanner扫描输入内容,input.next(),next()方法,将扫描的内容作为String类型的数据
		Scanner对象只能有一个,关闭也只能有一次
			*/
		TestStudent test1=new TestStudent();
		String name=test1.inputName(input);
		String hobby=test1.inputHobby(input);
		Student stu1 = new Student(name,hobby,21);
		stu1.print();
		input.close();
		
	}
}

你可能感兴趣的:(java,类)