本帖最后由 魏-玉-彪 于 2013-11-6 23:42 编辑
- public
- class Person {//默认的修饰符,在包与包之间访问,可以达到封装的效果
- private String name;
- private int age;
- public Person(){}
- public Person(String name, int age) { //在另一个包中使用本类的构造方法,需要让构造方法的权限修饰符是public的
- this.name = name;
- this.age = age;
- }
- public String toString() {
- return "我的名字:" + this.name + ",我的年龄是:" + this.age ;
- }
- }
- //package com.baidu;
- import cn.itcast.Person; //导入包,其实是导入包中的类
- import cn.itcast.*; //星式导入,是让导入的包中所有的类对本类可见
- class Demo6_Pack {
- public static void main(String[] args) {
- Person p1 = new Person("小王",19);
- Person p2 = new Person("小李",20);
- System.out.println(p1); //我的问题在这里,这里打印结果是 我的名字是小王,我的年龄是19,为什么传入的是类的引用p1,打印出来的不是一个地址值?
- System.out.println(p2); //我觉得这里应该把 p1改成 p1.toString 才对啊,当然我的想法肯定是错的,但是就是想不明白。
- }
- }
复制代码
我的名字:小王,我的年龄是:19
我的名字:小李,我的年龄是:20
请按任意键继续. . .
Person类已经重写toString();方法,系统自动调用,所以不用再明确调用
|