前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学Java(6):封装

小朋友学Java(6):封装

作者头像
海天一树
发布2018-04-17 12:01:09
5260
发布2018-04-17 12:01:09
举报
文章被收录于专栏:海天一树海天一树

面向对象有三大特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。 本节讲封装。

程序1

代码语言:javascript
复制
class Woman {
    private String name;
    private int age;
    private Man husband;
    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 void setHusband(Man husband) {
        this.husband = husband;
    }
    public Man getHusband() {
        return husband;
    }       
}
public class Man {
    private String name;
    private int age;
    private Woman wife;
    public void setName(String Name) {
        this.name = Name;
    }
    public String getName() {
        return this.name;
    }
    public void setAge(int Age) {
        this.age = Age;
    }
    public int getAge() {
        return this.age;
    }
    public void setWife(Woman wife) {
        this.wife = wife;
    }
}
class Test {
    public static void main(String[] args) {
        Woman w = new Woman();
        w.setName("Han Meimei");
        w.setAge(25);
        System.out.println("My name is " + w.getName());
        System.out.println("My age is " + w.getAge());
        Man m = new Man();
        m.setName("Li Lei");
        m.setAge(26);
        m.setWife(w);
        w.setHusband(m);
        System.out.println("My husband is " + w.getHusband().getName());
        System.out.println();
        System.out.println("My name is " + m.getName());
        System.out.println("My age is " + m.getAge());
        System.out.println("You don't know whether I have wife or not!");
    }
}

运行结果:

分析: 因为Li Lei不想别人访问他的老婆,所以将wife封装起来,不提供getWife()这个方法。 (小朋友看到这里可能会笑)

程序2

代码语言:javascript
复制
public class J {
    public static void printf(String str) {
        System.out.println(str);
    }
    public static void cout(String str) {
        System.out.println(str);
    }
}
class JTest {
    public static void main(String[] args) {
        J.printf("Hello World!");
        J.cout("Hello World!");
    }
}

运行结果:

分析: 有些小朋友可能会觉得,C语言中的printf和C++中的cout,比java中的System.out.println要方便。所以这里咱们也封装出printf和cout,实现打印的目的。 (小朋友看到这里应该会很高兴)

当然,这只是举个例子罢了,真正编写Java代码,建议用Java默认提供的System.out.println。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 程序1
  • 程序2
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档