zoukankan      html  css  js  c++  java
  • javaEE基础08

    javaEE基础08

    一、继承

    特点:继承父类的属性和方法,单继承(多继承)

    特性:方法的复写(重写)

      比如:人可以养狗

         人------>狗:整体和部分(拥有)关系

    关键字:extends

    结构: Aextends B类:A类继承B

    继承中所要注意的事项

      1.不要为了继承而继承

      2.父类的私有变量(方法)不能够被继承

      3.父类的构造函数不能被继承

      4.子类在调用自己的构造方法时,会默认先调用父类的无参构造方法

      5.对于super的调用必须是构造器中的第一个语句

      6.子类不能继承不在一个包中默认权限的成员

    什么时候使用继承:

      两个类之间必须要满足is a关系,才能拥有继承关系。

    二、super关键字

    Super:指向父类对象的引用空间

    Super关键字的作用:

      1.当子类和父类存在同名的成员变量时,可以通过super来调用父类的成员变量

      2.Super可以用来调用父类的构造方法

    public Zi(String color, String name,int age){

    //super来调用父类的构造方法

    super(name,age);  //必须是构造器中的第一个语句

    this.color = clolr;

    }

    Super使用的主要事项:  

      1.super调用父类的构造方法,必须是构造方法中的第一个语句

      2.Super只能出现在子类的方法和构造方法中

      3.Superthis不能同时调用构造方法(因为两者都必须要在第一个语句)

    Superthis的区别:

      1.代表的事物不一样:

        this:所属方法调用者对象

        super:表示父类对象的引用空间

      2.使用前提不一样:

        super:只能在继承的条件下才能使用

        This:在非继承条件下也可以使用

      3.调用构造方法:

        super:调用父类的构造方法

        this:调用本类的构造方法

    二、重写

    方法的复写作用

       父类的方法满足不了子类的实现,就需要通过复写方法实现父类的行为

    方法的重写使用注意点:

      1.方法重写,必须存在继承关系

      2.方法重写,方法名和形式参数必须一致

      3.方法重写,子类的权限修饰符必须要大于或者等于父类的权限修饰符

      4.方法重写,子类的返回值类型必须小于或等于父类的返回值类型

      5.方法重写,子类的异常类型要小于等于父类的异常类型

    基本数据类型:上下级不明确,因此基本数据类型在第4点不成立

    方法重载:

      方法名一样:参数列表个数、类型以及顺序不一样

    三、关键字

    instanceof(实例类型)关键字作用:

      1.用来判断某个对象是否属于某一个类

      2.Instanceof:使用前提对象指定的类有继承关系或实现关系

    final关键字:

      1.如果用final修饰基本数据类型变量,改变了就不能重新赋值,第一次的结果就为最终的结果(final修饰的变量必须要初始化

      2.如果用final修饰引用数据类型,无法给引用数据类型变量赋值

      3.如果用final修饰方法,方法就不能被重写

      4.如果用final修饰类,类就不能被继承

    如何用final表示常量

    例:public final static double PI = 3.14;  //变量名要大写

    格式: public final static 基本数据类型 变量名

    abstract关键字:

      被abstract修饰的类就叫做抽象类

      被abstract修饰方法叫做抽象方法

      如果一个类继承了抽象类,必须要实现抽象类中的抽象方法

    Abstract关键字的使用:

      1.如果一个方法没有方法体(大括号的内容即方法体),那么这个方法必须要abstract修饰

      2.如果一个类中有抽象方法,那么这个类必须要abstract修饰,为抽象类

      3.如果一个非抽象类,继承了这个抽象类,那么这个非抽象类中必须重写所有的抽象方法

      4.一个抽象类是可以拥有非抽象方法的

      5.一个抽象类可以拥有构造方法,作用是让子类能够初始化父类中的变量

      6.抽象类不能创建对象

        原因:如果创建对象,对象可能会调用到抽象方法,没有意义

      7.一个抽象类中是可以不出现抽象方法的

    例:

    abstract class Graph

    {

    //public Graph(){};  默认有一个无参构造

    abstract public void area();

    }

    Abstract不能和:privatestaticfinal使用

    Abstract关键字什么时候使用

      在描述一个事物的时,发现该事物存在某种行为,但该行为又不具体,这种行为就叫做抽象行为,这时使用到抽象类

    四、接口

    例子:铅笔:带橡皮擦的铅笔

      两个功能:1.写字----> 铅笔   2.擦字---->橡皮

      现实:java是单继承,不能同时有两个功能

    接口定义模式:

    interface关键字来表示接口

    //定义一个擦字的接口

    interface Eraser

    {

    int a = 10;  //在接口中定义的变量必须初始化,接口中的变量是用final修饰的

    //定义在接口中的方法是不需要实现的

    public void clear();//默认是用abstract修饰的,接口中的方法都是抽象方法

    }

     

    实现接口关键字 implements

    class EraserAndPencil implements Eraser, Pencil{

    //在里面必须实现接口里的方法

    }

     

    Java中可以支持多实现,一个类可以实现多个接口,多个接口在 implements 后面用逗号隔开

    接口的作用:

      1.用来拓展功能

      2.让程序解耦

      3.定义约束

     

    接口的使用注意事项:

      1.接口是一个特殊的类,可以定义属性和方法

      2.属性默认用final修饰的:public static final int age = 10;实际上是一个常量

      3.方法都是抽象的:abstract public

      4.接口不能创建对象

      5.接口没有构造方法

      6.接口是给类去实现的非抽象类实现接口时,必须将接口中的方法都实现

    interface Eraser

    {

    int a = 10;  //在接口中定义的变量必须初始化,接口中的变量时用final修饰的

    //定义在接口中的方法是不需要实现的

    public void clear();//默认是用abstract修饰的,接口中的方法都是抽象方法

    }

    类和接口的关系:实现关系

      1.一个非抽象类实现接口,必须实现接口中的方法

      2.一个抽象类实现接口,可以不实现接口中的方法,如果一个非抽象类继承抽象类,那么这个类需要实现这个接口中的所有方法

      接口和接口之间存在继承关系,可以继承多个接口

     

     

     

  • 相关阅读:
    30. 串联所有单词的子串
    206. 反转链表及扩展
    leetcode合并专题(陆续补充)
    剑指 Offer 25. 合并两个排序的链表及扩展
    1371. 每个元音包含偶数次的最长子字符串
    1334. 阈值距离内邻居最少的城市
    1310. 子数组异或查询
    1297. 子串的最大出现次数
    VS2012安装后 VS2010出现fatal error LNK1123: failure during conversion to COFF
    BFS/DFS 模板 代码
  • 原文地址:https://www.cnblogs.com/qlhMeiMei/p/6204066.html
Copyright © 2011-2022 走看看