zoukankan      html  css  js  c++  java
  • java封装

    封装:隐藏对象内部的复杂性,只留简单的接口供外界使用

    属性私有化   ,留setter,getter方法进行属性的操作。

    封装

    有时称为数据隐藏
    将数据和和对数据的操作隐藏在一个类中,即隐藏对象的属性和实现细节,仅对外公开接口。
    使用者不需要知道类的具体实现,只要知道怎么调用就可以了。
    比如:
    所有类的成员变量一般设置为private,如果需要访问和修改,通过getter和setter方法

     1 /**封装*/
     2 
     3 public class Demo1{
     4     public static void main(String args[]){
     5         HumanWife hw=new HumanWife();
     6         System.out.println(hw.name);        //公共的、默认的直接获取
     7 
     8         HumanQingRen hqr=new HumanQingRen();//实例化
     9 
    10         hqr.setName("小红");                //私有的(private),通过set为私有赋值
    11         System.out.println(hqr.getName());  //得到私有的值
    12 
    13         hqr.setAge(18);  //通过set为私有属性赋值
    14         System.out.println(hqr.getAge());//通过get获取私有属性值
    15 
    16     }
    17 }
    18 
    19 class Human{
    20     String name = "张三";
    21     int age = 25;
    22     char sex = '男';
    23 
    24 }
    25 
    26 class HumanWife{
    27     String name = "花花";
    28     int age = 18;
    29     char sex = '女';
    30 
    31 }
    32 
    33 class HumanQingRen{
    34     private String name /* = "小草"*/;  //直接赋值,不能在其他更改
    35     private int age;
    36     private char sex;
    37 
    38 //(public)供外界使用的接口
    39     public void setName(String name){  //给外界提供 set。。。方法。
    40         this.name=name;   //“this.name” 为本类的成员变量name。   =“name”为形参name。
    41     }
    42 
    43     public void setAge(int age){
    44         this.age=age;
    45     }
    46 
    47 
    48     public String getName(){
    49         return name;
    50     }
    51 
    52     public int getAge(){
    53         return age;
    54     }
    55 
    56 }
     1 //权限
     2 
     3 public class Demo02{
     4     public static void main(String []args){
     5         HumanQingRen hqr = new HumanQingRen();
     6         hqr.setName("小草");
     7         System.out.println(hqr);
     8         System.out.println(hqr.getName());
     9         boolean b = false;
    10         System.out.println("b的值是"+b);
    11     }
    12 }
    13 class Human{
    14     String name = "张三";
    15     int age = 25;
    16     char sex ='男';
    17 
    18 }
    19 class HumanWife{
    20     String name = "花花";
    21     int age = 18;
    22     char sex = '女';
    23 
    24 }
    25 class HumanQingRen{
    26     private String name ;
    27     private int age =10;
    28     private char sex = '男';
    29     public void setName(String name){
    30         this.name = name;
    31     }
    32     public String getName(){
    33         return name;
    34     }
    35     public String toString(){
    36         return "姓名:"+name+"
    年龄:"+age+"
    性别:"+sex;
    37     }
    38 }
  • 相关阅读:
    NodeJs 的Module.export 和 export
    Angular 调试
    设计模式 -- 访问者
    typescript 枚举
    Swagger 实践 <二>
    eventFlow 系列 <三> 查询所有
    成员变量的隐藏和方法的重写
    Facetoprocess_program_design
    ATM_tests
    transmission protocol
  • 原文地址:https://www.cnblogs.com/liuyangv/p/7725612.html
Copyright © 2011-2022 走看看