父类中可继承方法在处理private的一个demo

 

public abstract class AbstractParent {
    public AbstractParent() {
        System.out.println("Hello,parent");
    }

    protected void earnMoney() {
        prepare();
        doJob();
    }

    protected abstract void doJob();

    private void prepare() {
        System.out.println("parent prepare");
    }
}

class Child extends AbstractParent {
    public Child() {
        System.out.println("Child init");
    }

    @Override
    protected void doJob() {
        System.out.println("Child do job");
    }

    public static void main(String[] args) {
        Child child = new Child();
        child.earnMoney();
    }
}

输出:

Hello,parent
Child init
parent prepare
Child do job

 

时间: 2024-10-06 10:30:00

父类中可继承方法在处理private的一个demo的相关文章

Java中的Bridge方法

今天在Java中字节码的格式的时候,发现method_info中的access_flags中竟然定了ACC_BRIDGE的值.网上搜了一下,大概理解它的意思了,先记之.   首先是在什么情况下会生成bridge方法(2): bridge method may be created by the compiler when extending a parameterized type whose methods have parameterized arguments. 这是在网上找到的有人贴出来

Objective-C中的继承和多态

面向对象编程之所以成为主流的编程思想和他的继承和多态是分不开的,只要是面向对象语言都支持继承和多态,当然不同的OOP语言之间都有其特点.OC中和Java类似,不支持多重继承,但OOP语言C++就支持多继承,为什么OC不支持多继承稍后将会提到.  说到继承呢,想到了一本书上是引用<大话西游>里的一句话来描述继承的."人是人他妈生的,妖是妖他妈生的!",想必里面的唐三藏也学过OOP编程,也许他们师徒四人去西天取什么算法导论呢,漫谈OOP编程啦,数据结构啦等这类的书去啦.人和妖都

C中的继承和多态

1.引言 继承和多态是面向对象语言最强大的功能.有了继承和多态,我们可以完成代码重 用.在C中有许多技巧可以实现多态.本文的目的就是演示一种简单和容易的技术,在C中应用继承和多态.通过创建一个VTable(virtual table)和在基类和派生类对象之间提供正确的访问,我们能在C中实现继承和多态.VTable能通过维护一张函数表指针表来实现.为了提供基类和派生 类对象之间的访问,我们可以在基类中维护派生类的引用和在派生类中维护基类的引用. 2.说明 在C中实现继承和多态之前,我们应该知道类(

深入PHP5中的魔术方法详解_php技巧

从PHP 5以后的版本,PHP中的类就可以使用魔术方法了.其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法. 1.__get.__set这两个方法是为在类和他们的父类中没有声明的属性而设计的.◆__get( $property ) 当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名.◆__set( $property, $value ) 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值

详细讲解Java中的main()方法_java

前言 JAVA中的主函数是我们再熟悉不过的了,相信每个学习过JAVA语言的人都能够熟练地写出这个程序的入口函数,但对于主函数为什么这么写,其中的每个关键字分别是什么意思,可能就不是所有人都能轻松地答出来的了.我也是在学习中碰到了这个问题,通过在网上搜索资料,并加上自己的实践终于有了一点心得,不敢保留,写出来与大家分享. Java中的main()方法 java虚拟机通过main方法找到需要启动的运行程序,并且检查main函数所在类是否被java虚拟机装载.如果没有装载,那么就装载该类,并且装载所有

matlab 数据处理-如何在python中使用scipy和numpy使用matlab中的sim()方法

问题描述 如何在python中使用scipy和numpy使用matlab中的sim()方法 我现在已有一个训练好的神经网络的.m文件,需要用在python中做实时的模式识别.但是不知道如何在python中使用matlab神经网络的sim('MODEL', PARAMETERS)

继承-关于父类中private的数据

问题描述 关于父类中private的数据 父类中private的成员方法,在子类中无法重写要怎样理解哦~ 解决方案 访问权限为private 的方法是无法被重写的 举个列子 你找你爸要生活费 父亲持有生活费这个变量 关系是私有 子类不能重写,因为父亲不愿意 你要是直接调用父亲的钱还了得 所以父亲提供一个公开的方法,比如get,set 让你去操作 你想操作父亲的钱,必须用父亲提供的方法 解决方案二: private是私有方法,要重写就得是public方法 解决方案三: "在子类中可以重新写一个与父

php开发过程中关于继承的使用方法分享

继承 通常需要这样一些类,这些类与其它现有的类拥有相同变量和函数.实际上,定义一个通用类用于所有的项目,并且不断丰富这个类以适应每个具体项目将是一个不 错的练习.为了使这一点变得更加容易,类可以从其它的类中扩展出来.扩展或派生出来的类拥有其基类(这称为"继承",只不过没人死)的所有变量和函数,并 包含所有派生类中定义的部分.类中的元素不可能减少,就是说,不可以注销任何存在的函数或者变量.一个扩充类总是依赖一个单独的基类,也就是说,不支持多 继承.使用关键字"extends&q

wpf c#-请教:WPF中 子类继承父类的INotifyPropertyChanged的问题

问题描述 请教:WPF中 子类继承父类的INotifyPropertyChanged的问题 父类实现了INotifyPropertyChanged接口,子类数据改变时如何驱动父类的INotifyPropertyChanged? 父类实现接口方法: public event PropertyChangedEventHandler PropertyChanged; /// <summary> /// 数据驱动 /// </summary> /// <param name=&quo