创建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 }

运行结果:

原文地址:https://www.cnblogs.com/yunqing/p/4760821.html