• java 继承


    一.继承

      1.通过关键字extends来实现,等同有C#中的“   :”Subclass称为子类,而super称为父类,也称为基类,或超类如果使用了public,则只能在当前项目中可见,若无public修饰,则只能在当前包中可见,不可以使用private和protected修饰类。

      2.子类重写父类的方法:

        (1)父类(普通类)

          方法(普通方法)

        (2)子类  extends  父类

          方法(普通方法——>和父类某个方法同名)

      结论:

        父类  父类对象=new  子类对象();

        父类对象。方法名()(父子都有)  一定打印出子类方法体内容

    2.1自己修改模板   template

    2.2 super

      super()父类的构造

      super.父类的属性  或者方法。

    3.抽象类和抽象方法的注意事项
    案例:实现不同宠物 吃东西方法

    public abstract class Pet{
    
    public abstract void eat();
    }
    
    
    public class Cat extends Pet{
    @Override
    public void eat(){
    syso("dog Eat");
    }
    }
    
    public class Penguin extends Pet{
    @Override
    public void eat(){
    syso("Penguin Eat fish");
    }
    }
    
    Pet[] pets=new Pet[2];
    
    Cat cat=new Cat();
    
    Penguin penguin=new Penguin();
    
    pets[0]=cat;
    pets[1]=penguin;

    注意:抽象方法和抽象类的注意事项

      1.抽象类中也可以有抽象方法,也可以有非抽象方法

      2.抽象方法中没有方法体,可以直接以分号结束

      3.抽象方法必须在子类中重写,除非子类本身也是一个抽象类

      4.如果用abstract修饰,那么该类是抽象类

      5.抽象类不能被实例化

      6.抽象类可以有构造

      7.抽象类不能是静态的

      8.抽象方法只能出现在抽象类中

      9.抽象方法只是用来约束子类方法行为的

    4.final修饰属性,方法,类

      final修饰属性:不能再次赋值
      final修饰方法: 方法不能被重写
      final修饰类,类不能被继承

    5.继承关系下子类构造的执行过程解析:
      1.从Main---->子类构造不进入方法体

      2.从子类构造------>父类构造

      3.执行父类构造 ,创建了父类对象

      4.回到子类构造,执行构造体

      5.再回到Main。创建出对象

  • 相关阅读:
    线性表算法设计题2.11
    硬币抛掷模拟(使用数组)
    循环列示例(约瑟夫环问题)
    线性表算法设计题2.15
    ASP.NET2.0中的GRIDVIEW控件在使用TemplateField中的LinkButton时如何在RowCommand事件中找到当前行index的方法
    VS2005发布网站问题及"aspnet_merge.exe”已退出,代码为 1的错误
    弹出对话框的同时保持页面的显示(不变形)
    NET Framework 类库
    一些实用的正则表达式
    CuteEditor6.0使用配置心得体会
  • 原文地址:https://www.cnblogs.com/wang2386033566/p/8488967.html
Copyright © 2020-2023  润新知