zoukankan      html  css  js  c++  java
  • java面向对象编程(五)--四大特征之抽象、封装

    1.抽象

    我们在前面去定义一个类时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模版)。这种研究问题的方法称为抽象。

    2.封装

    封装就是把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。

    java中实现封装的方法:

    案例:不能随便查看人的年龄,工资等隐私[Demo116.java]

    //封装案例[Demo116.java]
    public class Demo116{
        public static void main(String []args){
            //创建一个职员
            Clerk clerk1=new Clerk("小花",24,4567.6f);
            System.out.println("名字是"+clerk1.name+"薪水"+clerk1.getSal());
        }
    }
    //职员
    class Clerk{
        public String name;
        //private私有的,public公有的
        private int age;
        private float salary;
    
        public Clerk(String name,int age,float sal){
            this.name=name;
            this.age=age;
            this.salary=sal;
        }
        //通过一个成员方法去控制和访问私有的属性
        public float getSal(){
            return this.salary;
        }
    }

    封装--访问控制修饰符

    java提供四种访问控制修饰符号控制方法和变量的访问权限:

    1、公开级别:用public修饰,对外公开。

    2、受保护级别:用protected修饰,对子类和同一个包中的类公开。

    3、默认级别:没有修饰符号,向同一个包的类公开。

    4、私有级别:用private修饰,只有类本身可以访问,不对外公开。

       18

    包的必要性

    现在有两个程序员共同开发一个java项目,程序员小明希望定义一个类取名Dog,程序员小强也想定义一个类也叫Dog。 问题由此便产生了,如何解决这个冲突呢?

    --三大作用

    1、区分相同名字的类

    2、当类很多时,可以很好的管理类

    3、控制访问范围

    由此可见,引入包遍很好的解决了上述问题。

    打包命令

      package com.自定义名字;

    注意:打包命令一般放在文件开始处。

    包命名规范

    小写字母,比如 com.sina.davis

    常用的包

    一个包下,包含很多的类,java中常用的包有:

    java.lang.* 包 自动引入 java.util.* 工具包

    java.net.* 包 网络开发包 java.awt.* 包 窗口工具包

    如何引入包

    语法:import 包;

    比如import java.awt.*;

    我们引入一个包的主要目的要使用该包下的类

     

    至此,我们类的定义又可以完善一步了:

    package包名;
    class 类名{
        成员变量;
        构造方法;
        成员方法;
    }
  • 相关阅读:
    linux-cp
    linux-rmdir
    linux-tail
    linux-head
    linux 重定向
    hadoop环境安装及错误总结
    vim 图册
    为什么可以这么快! awk 与python的应用
    八大排序算法的 Python 实现
    linux的文件隐藏属性 chattr lsattr
  • 原文地址:https://www.cnblogs.com/Davis812/p/3905101.html
Copyright © 2011-2022 走看看