• Java面向对象之封装


    封装:

    通俗理解:在不想让外人看见自己所定义的内容,但是你可以使用(调用),怎么调用呢?通过先设置(set)下属性或者方法内容,然后你必须获取(get)下才可以调用。

     1、封装:隐藏实现细节,提供公共的访问方式;

    ①、好处:

      隐藏实现细节,提供公共的访问细节;

      提高代码的复用性;

      提高代码的安全性;

    ②、设计原则:

      把不想让外界知道的实现细节给隐藏起来,把属性隐藏,提供公共的访问方式。

    ③、体现:

      类、方法、private修饰成员变量

    2、private 关键字(仅仅是封装的体现形式):

      ①、私有的意思,权限修饰符,可以修饰成员变量和成员方法;

      ②、特点:

      被private修饰过的成员只能在本类中访问;

     ③、应用:

      类中不需要对外提供的内容都需要私有化,包括属性和方法;

      以后再描述事物,属性都私有化。

      对成员变量的访问:
            赋值(设置 set )、取值(获取 get)

    3、this关键字:

      在成员变量面前加上this 来区别成员变量和局部变量;

      哪个对象调用this所在的方法,this就代表哪个对象。

    例如:比较两个人是否同龄:

    package com.oracle.demo02;
    
    public class Person {
        private String name;
        private int age;
        public void setName(String n){
            name=n;
        }
        public String getName(){
            return name;
        }
        public void setAge(int a){
            if(a>=0&&a<=130){
                age=a;
            }else{
                age=0;
            }
        }
        public int getAge(){
            return age;
        }
        public void speak(){
            System.out.println("我叫"+name+",今年"+age+"岁了");
        }
        //比较两个人是否是同龄人
        public boolean compare(Person p){
            return this.age==p.age;
        }
    }
    package com.oracle.demo02;
    
    public class Demo01 {
        public static void main(String[] args) {
                Person p1=new Person();
            p1.setAge(18);
            Person p2=new Person();
            p2.setAge(19);
            boolean flag=p1.compare(p2);
            System.out.println(flag);
        }
    }
                                                       

     4、Eclispe中快速私有的方法:

      定义完属性后,鼠标右键--->Source----->Generate Getters and Setters----->右侧Select All   。

  • 相关阅读:
    HDU 3853 LOOPS:期望dp【网格型】
    SGU 495 Kids and Prizes:期望dp / 概率dp / 推公式
    BZOJ 1629 [Usaco2005 Nov]Cow Acrobats:贪心【局部证明】
    BZOJ 3400 [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队:dp【和为f的倍数】
    BZOJ 1685 [Usaco2005 Oct]Allowance 津贴:贪心【给硬币问题】
    codeforces-473D Mahmoud and Ehab and another array construction task (素数筛法+贪心)
    poj1964最大子矩阵 (单调栈加枚举)
    poj3111 选取物品(二分+贪心)
    codeforces-777E Hanoi Factory (栈+贪心)
    poj3040 发工资(贪心)
  • 原文地址:https://www.cnblogs.com/21-forever/p/10882399.html
Copyright © 2020-2023  润新知