zoukankan      html  css  js  c++  java
  • Java学习笔记之:Java封装

    一、引言

    在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。

    封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

    要访问该类的代码和数据,必须通过严格的接口控制。

    封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

    适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

    二、笔记

    当我们给属性加上private关键字之后,当我们实例化User类,只能访问age属性而不能访问nameString属性,只能间接访问。

    package com.hgd.study5;
    
    import java.sql.Date;
    
    public class User {
    
        /*
         * 通过private 关键对属性进行私有化
         */
        private String nameString="admin";
        int age=30;    
        public String getName() {
            return this.nameString;
        }
        
        public void setName(String name) {
             this.nameString=name;
             System.out.println("不能注册");
        }
        
        public void setAge(int age) {
            //对年龄做出判断更好的限制了数据的随机性
            if (age<18) {
                System.out.println("不能注册");
            }
            else {
                this.age=age;
                System.out.println(age);
            }
        }
    }
    public class Package {
    
        //可以看到,我们可以直接访问User类的age属性,但是如果想要获取和设置User的name属性,只能间接调用getName方法和setName方法
        public static void main(String[] args) {
            User user = new User();
            System.out.println(user.age);
            user.getName();
            user.setName("123");
            user.setAge(1);
        }
    }

    三、快捷操作

    eclipse提供了快捷生成set和get方法的操作

    1.定义一个类,添加两个属性。

    public class Temp {
    
        private String A;
        private int B;
    }

    2..点击 源码=》生成Getter和Setter

    3.选择需要生成的属性和方法,点击确定,系统会自动生成方法。

    public class Temp {
    
        private String A;
        private int B;
        public String getA() {
            return A;
        }
        public void setA(String a) {
            A = a;
        }
        public int getB() {
            return B;
        }
        public void setB(int b) {
            B = b;
        }
    }
  • 相关阅读:
    Django中的session的使用
    《Vue笔记01: 我与唐金州二三事》
    CSS之border绘制三角形
    如何增强前端代码的健壮性
    flex招式心法
    码出优美
    可保图片不变形的object-fit
    three.js基础前置知识
    【JS档案揭秘】第四集 关于this的讨论到此为止
    【JS档案揭秘】第三集 深入最底层探秘原型链
  • 原文地址:https://www.cnblogs.com/huguodong/p/5893126.html
Copyright © 2011-2022 走看看