Java 基础 面向对象

封装

        在面向对象程序设计方法中,封装Encapsulation是指一种将抽象性函数接口的实现细节部分包装、隐藏起来的方法。

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

                        反射机制

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

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

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

//第一步是确定研究的目标对象---可以区分的独立个体
// 需要方法和属性
class Student {
    //成员属性---静态特征的描述
    private boolean sex; //一般使用私有属性,共有的get/set方法
    //成员方法---提供的功能描述
    public boolean getSex(){
        return this.sex;
    }
    //不允许修改sex,所以不提供set方法
    protected void setSex(Boolean sex){ //如果在特殊情况下允许修改,可以使用范围限
定词进行表示
        this.sex=sex;
    }
}

//构建对象
Student s1=new Student();
s1.setSex(true);
s1.setSex(false); //是否允许取绝于限制

封装有三大好处

        良好的封装能够减少耦合

        类内部的结构可以自由修改

        可以对成员进行更精确的控制

        隐藏信息,实现细节

4个关键字

用于进行访问控制

        private只能在当前类中直接访问

        protected可以在同包或者子类中直接访问

        没有范围限定词,默认或者package限定词,只能在同包中直接访问

        public到处可见

//一个文件种可以定义无数个类,但是只能有一个public class公共类
    public class Student { //类的范围限定词分为2种情况。外部类的范围限定词可以使用无范围

                 //限定词和public两种;而内部类上可以使用4种范围限定

                //成员属性,类种包含哪些静态特征取决于问题本身

                private Long id; //private只能在当前类中直接访问

                protected String name; //protected可以在同包或者子类中直接访问

                int age;//没有范围限定词,默认或者package限定词,只能在同包中直接访问

                public double salary;//public到处可见
                //一般规则是私有属性,共有的get/set方法
    }

继承的概念

        继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

        继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

类的继承格式

        在Java中通过extends 关键字可以申明一个类是从另一个类继承来的。

继承的特点

        子类拥有父类非 private 的属性、方法。

        子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

        子类可以用自己的方式实现父类的方法。

        Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。

        提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

继承关键字

        继承可以使用extends和implements这两个关键字来实现继承,而且所有的类都是继承于java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在java.lang包中,所不需要import)祖先类。

extends 关键字

         类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以extends只能继承一个类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值