创建Java类并实例化深入理解
1 package com.sanguosha.java; 2 3 import java.util.Scanner;//导入包 4 5 public class TestPerson { 6 public static void main(String[] args) { 7 //Person类的实例化 8 Person p1=new Person(); 9 p1.eat(); 10 p1.sleep(); 11 p1.info();//调用info()方法来查看人的属性值 12 p1.age=21; 13 p1.name="图图"; 14 p1.sex=true; 15 p1.info(); 16 17 p1.setName("胡英俊");//修改姓名 18 p1.info(); 19 20 Person p2=p1;//相当于把p1的首地址赋值给p2,两个对象共用一个内存空间 21 //证明: 22 System.out.println("输出p1的首地址是"+p1); 23 System.out.println("输出p2的首地址是"+p2); 24 p2=new Person();//p2重新new出一个内存空间,和p1分开 25 System.out.println("重新输出p2的首地址是"+p2); 26 //现在也可以理解从键盘获取一个数值的Scanner类的实例化 27 Scanner n=new Scanner(System.in);//Scanner类不是我们自己创建的 28 //所以要导入Scanner类的包import java.util.Scanner;//导入包 29 int _int=n.nextInt();//调用方法来获取键盘输入的int类型数值 30 } 31 } 32 class Person{ 33 //设置属性 34 String name; 35 int age; 36 boolean sex;//假设true是男性;false是女性 37 //设置方法 38 public void eat(){ 39 System.out.println("人吃饭"); 40 } 41 public void sleep(){ 42 System.out.println("人睡觉"); 43 } 44 public String getName(){//获取人的姓名 45 return name; 46 } 47 public void setName(String n){//修改人的姓名 48 name=n; 49 } 50 public void info(){//设置一个方法专门用来输出人的姓名、性别、年龄 51 System.out.println("人的姓名是:"+name+" 性别是"+sex+" 年龄是"+age); 52 } 53 }
运行结果: