JAVA面向对象1——封装

目录

封装

概念:

优点:

操作:

访问限定符

自定义包

导入包中的类


封装

概念

将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。例如我们使用电脑开关机,我们只需要点击开发者给我们设置的接口(开关机的按键或者图标),我们并不知道其内部实现过程,更无法进行操作。

优点:

          减少代码耦合(减少对象之间的关联性,以降低它们之间的复杂性和依赖性);

           隐藏实现细节,增强安全性;

           限制外部的不合理操作;

操作

           1.修改需要封装的类的属性的访问权限(将其访问限定符修改为private)

           2.提供公共方法对封装的内容访问和操作

举例:

class Dog{
    private String dogName;
    private void run(){
        System.out.println(this.dogName+"正在跑");
    }//私有属性其他类无法直接访问
    public void setDogName(String dogName) {
        this.dogName = dogName;
    }//访问private变量dogName的接口

    public void setRun() {
        this.run();
    }//访问私有方法run的接口
}


public class Test {
    public static void main(String[] args) {
        Dog a = new Dog();
        a.setDogName("小黄");
        a.setRun();

    }
}

我们可以通过系统提供给我们的快捷方法对这个变量生成接口Setter/Getter方法:

鼠标右键选中Generate;快捷键:Alt+Insert

访问限定符

1.包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,比如:一 个包中的类不想被其他包中的类使用。

2.解决类名的冲突问题(设置在不同包当中)

自定义包

 基本规则:

1.在文件的最上方加上一个 package 语句表明该代码在哪个包中.

2.如果一个类没有 package 语句, 则该类被放到一个默认包src中.

3.包名要和代码路径相匹配 .(通过 .  来设置包的子包)
例:创建一个包com和它的子包baidi和baidu的子包www

 

 

 4.包名需要尽量指定成唯一的名字.

导入包中的类

通过:import .类的路径  来导入其他包中的类(导入静态类时使用import static.导入)

 图中我们引入了系统提供给我们的包package java.lang.reflect中的类Array(我们可以通过Ctrl+鼠标左键来查看系统提供给我们的包

图中导入包的语句还可以写成import java.lang.reflect.*表示导入包java.lang.reflect中的全部类

但我们不建议这样写,因为当我们导入多个包中的类时,这些包中可能存在相同的类,使用*引入时引入不同包当中的同一个类,那么我们在调用这个类时系统不知道调用哪个,就会产生编译错误

例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值