天津建设工程信息网 公示在显示,宁波seo推广平台,网站源码如何优化,网页版传奇手游排行榜在初期#xff0c;很多人对于java中一些定义的认识比较模糊#xff0c;今天我就来详细讲一讲我所认识的封装和继承。1、封装1.1#xff09;概念#xff1a;将类的某些信息隐藏在内部#xff0c;不允许外部程序直接访问#xff0c;而是通过该类提供的方法来实现对隐藏信息… 在初期很多人对于java中一些定义的认识比较模糊今天我就来详细讲一讲我所认识的封装和继承。1、封装 1.1概念将类的某些信息隐藏在内部不允许外部程序直接访问而是通过该类提供的方法来实现对隐藏信息的操作和访问。 1.2好处只能通过规定的方法访问数据隐藏类的实例细节方便修改和实现。 1.3封装的实现步骤 注意对封装的属性不一定必须通过get/set方法其他方法也可以对封装的属性进行操作。当然最好使用get/set方法这样比较标准。 1.4访问修饰符 访问修饰符可以限制类中成员的被访问范围可以有效的保护隐私数据。 1.5java中的内部类 内部类Inner Class就是定义在另外一个类里面的内。与之对应包含内部类的类被称为外部类。 内部类不常用但却有其特殊的作用 a、内部类提供了更好的封装可以把内部类隐藏在外部类之内不允许同一个包中的其他类访问该类。 b、内部类的方法可以直接访问外部类的所有数据包括私有的数据。 c、内部类所实现的功能使用外部类同样可以实现只是有时使用内部类更方便。 内部类分为成员内部类、静态内部类、方法内部类、匿名内部类2、继承 2.1概念继承是类与类的一种关系是一种“is a”的关系。比如“狗”继承“动物”这里动物类是狗类的父类或者基类狗类是动物类的子类或者派生类。如下图所示 注java中的集成是单继承一个类只有一个父亲但一个父亲可以有多个子类。 2.2好处子类拥有父类的所有属性和方法除了private修饰的属性不行从而实现了代码的复用。 2.3语法规则只要在子类后面加上extends关键字再加上想要继承的父类就可以了 2.4方法的重写 子类如果对继承的父类中一些方法不满意可以自己重写编写该方法这种方式就叫做方法的重写当调用方法时会优先调用子类的方法。 需要注意方法名相同、参数列表相同方法体不同 2.5继承的初始化顺序 初始化父类再初始化子类 先执行初始化对象中属性再执行构造方法中的初始化 基于上面两点我们就知道实例化一个子类java程序的执行顺序是 父类对象属性初始化----父类对象构造方法----子类对象属性初始化---子类对象构造方法 2.6final关键字 使用final关键字做标识有“最终”的含义。final修饰类则该类不能被继承final修饰方法则该方法不能被重写final修饰属性则该类的该属性不会进行隐式的初始化所以该final 属性的初始化属性必须有值或在构造方法中赋值但只能选其一且必须选其一因为没有默认值且初始化之后就不能改了只能赋值一次。 2.7super关键字 在对象的内部使用可以代表父类对象。 访问父类的属性super.*访问父类方法super.* super的应用首先我们知道子类的构造的过程当中必须调用父类的构造方法。其实这个过程已经隐式地使用了我们的super关键字。这是因为如果子类的构造方法中没有显示调用父类的构造方法则系统默认调用父类无参的构造方法。那么如果自己用super关键字在子类里调用父类的构造方法则必须在子类的构造方法中的第一行。要注意的是如果子类构造方法中既没有显示调用父类的构造方法而父类没有无参的构造方法则编译出错。补充说明虽然没有显示声明父类的无参的构造方法系统会自动默认生成一个无参构造方法但是如果你声明了一个有参的构造方法而没有声明无参的构造方法这时系统不会动默认生成一个无参构造方法此时称为父类有没有无参的构造方法。 2.8Object类 Object类是所有类的父类如果一个类没有使用extends关键字明确标识继承另一个类那么这个类默认继承Object类。Object里面主要有两个类toString、equals