Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)

(一)Java中的继承:

   关于继承,在Java中类的继承只能是单继承,不像C+++那样灵活,可以多继承,多继承的后果就是各种关系乱套,就相当于一个孩子有2个母亲一样,社会关系的复杂,不利于程序后期的开发和维护,所有Java中的类是只能单继承,通过接口来实现多继承;对于接口的话,是可以多继承的,例如:A接口可以同时继承接口B和接口C,但是有一点要注意,就是实现接口A的类必须要实现接口A、B、C中所有的抽象方法;接口之所以可以多继承,就是因为接口结构比较简单。 

  继承是通过extends关键字来实现,默认的父类是Object类(根源)。

(二)四种修饰符(public protected 默认friendly private )

   1.对于public 修饰的属性和方法:不管在哪个包中的哪个类都可以使用,不同项目之间的肯定就不可以了。

   2.对于protected修饰的属性和方法:首先的话,在同包的类中都可以使用,或者其它包中的子类中使用,但是有一点要注意,在子类中的main()方法中就不能使用该属性或者方法

  3.对于friendly修饰的属性和方法:只能在同包中使用

  4.对于private 修饰的属性和方法:只能在本类中使用

(三)final修饰符

   1.被final修饰的类:不能被继承

   2.被final修饰的变量:就是常量,不能在被修改

   3.被final修饰的方法:该类的子类不能重写该方法,但是可以在本类重载该方法

   4.注意:比如在main()方法中:代码如下

      

    运行的效果

     说明:在引用前面加fina修饰符,只是让a的空间地址不能改变而已,可以修改a指向的数组里面的各项值

(四)封装

   首先的话要用private修饰符,来修饰类的成员变量,只能在本类中使用,通过set、get方法提供对外的访问入口

   好处:1.只能通过指定方法进行数据的访问

      2.隐藏类的具体实现细节

      3.方便修改实现

      4.方便加入控制语句

(五)多态:

   多态的构成条件:1.要有类的继承

           2.要有方法的重写

           3.父类的引用指向子类的对象

  看代码:

   运行的效果:

   多态的好处:

    

(六)模板方法模式(template method)

      首先定义一个抽象的模板

  

  大概的意思就是:先订餐 酒店去操办 最后付款

  写一个实现它的子类:(在写main方法)

  

 来看看运行效果:

注意:这就是模板方法模式,之前肯定有很多人纳闷,这个方法我明明没有调用,为什么运行了,就是这个原因,也叫钩子函数(hook或者callBack回调 ),具体的实现交给子类,父类把模板定义好

时间: 2024-11-03 03:42:42

Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)的相关文章

设计模式 - 模板方法模式(template method pattern) JFrame 详解

模板方法模式(template method pattern) JFrame 详解 本文地址: http://blog.csdn.net/caroline_wendy 参考模板方法模式(template method pattern): http://blog.csdn.net/caroline_wendy/article/details/32159455 模板方法模式(template method pattern), Java的JFrame使用模板方法模式, paint()是可以覆盖的方法,

设计模式 - 模板方法模式(template method pattern) 排序(sort) 详解

模板方法模式(template method pattern) 排序(sort) 详解 本文地址: http://blog.csdn.net/caroline_wendy 参考模板方法模式(template method pattern): http://blog.csdn.net/caroline_wendy/article/details/32159455 模板方法模式的一个主要的应用是排序(sort)算法. 对象的排列方式并不是完全相同, 所以需要排序(sort)算法compareTo()

设计模式 - 模板方法模式(template method pattern) 详解

模板方法模式(template method pattern) 详解 本文地址: http://blog.csdn.net/caroline_wendy 模板方法模式(template method pattern): 在一个方法中定义一个算法的骨架, 而将一些步骤延迟到子类中. 模板方法使得子类可以在不改变算法结构的情况下, 重新定义算法中的某些步骤. 模板方法可以进行挂钩(hook), 钩子(hook)是一种被声明在抽象类中的方法, 但只有空的或者默认的实现. 钩子的存在, 可以让子类有能力

设计模式 - 模板方法模式(template method pattern) Applet 详解

模板方法模式(template method pattern) Applet 详解 本文地址: http://blog.csdn.net/caroline_wendy 参考模板方法模式(template method pattern): http://blog.csdn.net/caroline_wendy/article/details/32159455 模板方法模式(template method pattern), applet就是一个能够在网页上面执行的小程序, applet有很多钩子(

设计模式 - 模板方法模式(template method pattern) JFrame 具体解释

模板方法模式(template method pattern) JFrame 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(template method pattern): http://blog.csdn.net/caroline_wendy/article/details/32159455 模板方法模式(template method pattern), Java的JFrame使用模板方法模式, paint()是能够覆盖的方

设计模式 - 模板方法模式(template method pattern) 排序(sort) 具体解释

模板方法模式(template method pattern) 排序(sort) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(template method pattern): http://blog.csdn.net/caroline_wendy/article/details/32159455 模板方法模式的一个基本的应用是排序(sort)算法. 对象的排列方式并非全然同样, 所以须要排序(sort)算法compareTo(

设计模式 - 模板方法模式(template method pattern) Applet 具体解释

模板方法模式(template method pattern) Applet 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(template method pattern): http://blog.csdn.net/caroline_wendy/article/details/32159455 模板方法模式(template method pattern), applet就是一个可以在网页上面运行的小程序, applet有非常多

java设计模式 模板方法模式Template Method

设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因.

设计模式之模板方法模式(Template Method)摘录

23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象.创建型模式有两个不断出现的主旋律.第一,它们都将关于该系统使用哪些具体的类的信息封装起来.第二,它们隐藏了这些类的实例是如何被创建和放在一起的.整个系统关于这些对象所知道的是由抽象类所定义的接口.因此,创建型模式在什么被创建,谁创建它,它是怎样被创建的,以