Java类与对象

//第一部分package cn.edu.tyut.day07;
package cn.edu.tyut.day07;
/*
	包的作用:
	1、归类,例如java.util,java.awt
	2、访问控制
	(结合访问控制符public private protected 不写)
	3、命名空间管理(namespace)
	包名.类名 = 全限定名
 **包名是一个目录结构
 */
//第二部分,导包
import java.util.Scanner;//java.util.*;
/*不导包也可以,但是要使用全限定名*/
//定义类
public class Day06{
     
	/*如果不写这个public,这个类只能在本包中使用*/	
	//类体的定义
	/*1、成员变量
		定义:修饰符 类型名 变量名 = 值;
		类型:
			基本变量:0 false
			引用变量:null
		成员变量的赋值顺序:
		1、先在内存中开辟一块内存,赋默认值
		2、成员变量的显式赋值
		3、构造方法赋值
	 */
	public String name = "zhangsan";//显式赋值
	private int age;//0
	/*方法定义
		修饰符 返回值类型 方法名称(形参列表){
			方法体;
				语句;加分号的表达式
				流程控制语句(顺序、选择、循环)
		}
	 */
	public void setName(String name){
     
		this.name = name;
	}
	public String getName(){
     
		return name;
	}
	public void setAge(int age){
     
		this.age = age;
	}
	public int getAge(){
     
		return age;
	}
	public String getInfo(){
     
		return "name:" + name +"\nage:"+age;
	}
	/*构造方法
		修饰符(public/private) 类名(形参列表){
			构造方法中执行的语句;
		}
		作用:
		1、构造对象Day06 d1 = new Day06();
		2、初始化成员变量
	 */
	public Day06(){
     
		//this(null,0);
		System.out.println("无参构造方法被调用了");
	}
	//构造方法也可以重载
	public Day06(String name,int age){
     
		this.name = name;
		this.age = age;
	}
	public Day06(String name){
     
		this(name,0);
	}
	public static void main(String[] args){
     
		Day06 d1 = new Day06();
		d1.setAge(20);
		System.out.println(d1.getInfo());

		Day06 d2 = new Day06("lisi",30);
		System.out.println(d2.getInfo());

		d2 = null;
		d2.getInfo();//NullPointerException
	}
}

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