代码块 内部类 继承 多态

  • 在创建一个对象之前需要先做一些准备工作
  • 1.构造方法 需要创建对象输出 输出: Test test=new Test();
  • 2.静态变量
  • 3.静态方法 必须主动调用才能执行

*代码块 在对象创建之前就优先调用 优先于static修饰的代码块

  • 修饰符(可有,有必须是static){
  • 执行内容
    *}
  • static 修饰的代码块不能直接使用成员变量
  • 类里面可以有多个代码块
  • 执行顺序和先后顺序一样
  • 尽量不要写多个代码块


    代码块1.0.png

    代码块2.0.png
  • 继承
  • 封装 用类来封装属性和方法
  • 访问权限:private public protected
  • 继承 a extends b
  • 获得父类的方法和属性 并且需要添加自己的属性和方法
  • java里面只能单继承,可以变向多继承
  • 所有的类都是直接或间接继承object类
  • 当调用子类的一个方法时,如果没有就到父类里去查找
  • 如果在子类里面需要调用父类的方法 或者显示调用父类的属性 使用super

// * 什么情况下需要在一个方法里面调用super的对应方法?

  • public void walk

  • {
    super. walk();

  • }

  • 如果一个方法需要完成一个功能,又不能单独完成,

  • 必须要父类做相应的工作

  • 1.父类做完之后 子类再操作
    onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }
    2.子类做点事情之后 在调用父类去完成
    protected void onDestroy() {
    //...
    super.onDestroy();
    }

    父类: public person1(String name,int age)
    {
    this.age=age;
    this.name=name;
    }

  • 子类: public civil(String name, int age, float salary, int number) {
    super(name, age);
    this.salary = salary;
    this.number = number;

  • }

  • 如果子类里面需要重新实现父类的方法 就需要重写

  • @Override 方法名

  • 如果父类有自定义构造方法

  • 子类的构造方法里必须显示调用父类的构造方法

  • 如果父类有内部类

  • 子类有同名的内部类

  • 那么父类的内部类被覆盖了

  • 如果非要使用父类中的内部类 只能使用全类名 person.inner
    */


    继承1.0.png

    继承2.0.png

    继承3.0.png

    继承4.0.png

    内部类:

  • 定义一个类 可以在多个地方定义

  • 1.单独创建一个文件管理一个类

  • 2.直接在文件里面 类的上面和下面创建

  • 3.直接在某个类内部创建一个类

  • 一个类A依附于另一个类B

内部类1.1.png

内部类1.2.png

内部类1.3.png

内部类结果1.0.png
内部类2.0.png

内部类结果2.1.png

多态2.0.png
输出.png

多态polymorghic

  • 1.同一个方法 多种实现=在不同的子类中有不同的实现
  • 2.如果有继承关系:子类的对象方法可以用父类变量接受
  • 类型的自动向上转换


    主函数1.0.png
主函数2.0.png
子类1.0.png
子类2.0.png
子类输出.png
子类输出2.0.png

感悟:今天学习了很多知识,学习的难度不是很大,很轻松。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容