博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java学习之封装
阅读量:5948 次
发布时间:2019-06-19

本文共 1061 字,大约阅读时间需要 3 分钟。

hot3.png

package hello2;

public class Person {
       String name;
       int age;
       public void book(){
        System.out.println("看书");
       }
       public void tv(){
        System.out.println("看电视");
       }
}

  1. 使用封装是为了在类属性使用时一些限制,比如上面年龄不可能很大,这就需要封装来实现

  2. 封装

    package hello2;

    public class Person {
     private String name;// 使用private修饰符是属性私有化使用private修饰符使属性私有化, private int age;私有化之后只能在类内部使用,不能外部使用,
      private int age; //使用方法给name属性赋值,就可以外部使用(.setName),然后在方法中限制使用
      public void setName(String n){
       name=n;  
       }
     public void setAge(int m){//要想外部使用,给属性提供公有的getter/setter方法(对属性的操作只有“存”(set方法)和“取”(get方法)),此方法是用“存”
       if(m>0&&m<120)//

    然后加入一些控制代码
         age=m;
           }

   public String getName(){

        return name;
       }
       public int getAge(){//此方法是“取”,要有返回值
        return age;
       }
       public void book(){
        System.out.println("看书");
       }
       public void tv(){
        System.out.println("看电视");
       }
}
package hello2;
public class TestPerson {
 public static void main(String[] arges){
  Person p=new Person();
  //p.name="AAA";使用私有化后不能使用
  p.setName("aaa");
  p.setAge(34);
  String n=p.getName();
  int a=p.getAge();
  System.out.println(n+"\t"+a);
 }
}

运行结果:aaa 0

 

转载于:https://my.oschina.net/u/2371672/blog/492305

你可能感兴趣的文章
交换机之间的VLAN通信(trunk)
查看>>
heartbeat-gui
查看>>
51CTO博客中直接粘贴截图的方法
查看>>
N26-第二周作业
查看>>
关于一阶逻辑中实例化的可满足性问题
查看>>
cut命令用法讲解
查看>>
我的第一篇日志。
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
企业实战:mysql5.6数据库备份、恢复脚本
查看>>
RabbitMQ(消息队列)Linux安装相关问题解决
查看>>
我的友情链接
查看>>
CentOS7安装mysql
查看>>
RMB數字轉換中文
查看>>
基于rhel7.2的Zabbix平台搭建和部署(二)
查看>>
Html5本地存储和本地数据库
查看>>
我的友情链接
查看>>
JQ 循环切换DIV
查看>>
Nagios监控NetAPP NAS存储容量,Volume、Qtree
查看>>
Android Fragment实践(二)
查看>>