zoukankan      html  css  js  c++  java
  • java基础二

      继承、封装、多态、抽象是面向对象编程的四大基本特征

    继承

    继承的优点:

      1.代码的重用;

      2.子类可以扩展父类的属性和方法;

      3.父类的属性和方法可以用于子类;

      4.设计应用程序可以变得更加简单。

    继承的写法

        访问修饰符 class 子类 extends 父类{}

    父类可以成为超类、基类;子类可以成为派生类。

    java  中继承的实现:一个子类只能继承一个父类(继承的单根性),一个父类可以有多个子类;父类仍可以有父类。

    Object是所有类的根类,或基类 ,是java中所有类的父类。

    Object中重要方法:

      public  boolean  equals(Object:x)  检测两个变量是否相等;

      public  String toString()  返回字符串的表示;

      protected void finalize()throws Throwable   垃圾回收

    方法重写:发生在子类中,对父类方法的重写。

      规则:

      1.子类的方法返回值类型、方法名 、形式参数列表必须与父类中相同;

      2.子类的访问修饰符必须不小于父类;

      3.子类抛出的异常不能多于父类。

    super关键字

    用个super打点调用父类中的方法。  例:super.父类方法

    abstract关键字 (abstract 抽象)

    abstract 修饰类时,该类为抽象类,不能被实例化;

    abstract修饰方法时,该方法为抽象方法,无主题,且必须用于抽象方法内;  例:public void 方法名();

    final 关键字

    final修饰类时,该类为最终类,不能有子类;

    final修饰方法时,该方法为最终方法不能重写;

    final修饰变量时,该变量不能再被改变。

    子类可以调用父类的构造器,但不能被继承。

    封装

    Java类中成员有四种访问修饰符:

      1.public 共有的  2.protected 受保护的  3.private  私有的  4.default 默认的

    访问修饰符 本类 同包不同类 不同包 子类
    public
    protected    
    default    
    private      

    使用private时,先读getter后写setter

    封装的优点

      1.类的成员变量可以成为只读或只写;

      2.类可以对储存在其成员变量中有一个整体的控制;

      3.类的用户不需知道类是如何储存数据的;

      4.代码的重用。

    内部类

    1.静态内部类  2.成员内部类  3.局部内部类  4.匿名内部类

    例:

    package demo;

    public class Outter {
    int i = 1;
    static int j = 2;

    /**
    * 成员内部类
    * @author Administrator
    *
    */
    class Inner1{
    int k = 3;

    public void show(){
    System.out.println("k=" + k);
    System.out.println("i=" + i);
    }
    }

    /**
    * 静态内部类
    * @author Administrator
    *
    */
    static class Inner2{
    int k = 3;

    public void show(){
    System.out.println("k = " + k);
    System.out.println("j = " + j);
    }
    }

    public void show(){
    final int k = 3;
    /**
    * 局部内部类
    * @author Administrator
    *
    */
    class Inner3{
    int m = 4;

    public void show(){
    System.out.println("m=" + m);
    System.out.println("k=" + k);
    }
    }

    new Inner3().show();
    }

    public void print(Inter inter){
    inter.printfInterface();
    }
    }

    interface Inter{
    void printfInterface();
    }

    多态(动态多态)和抽象

    特点:1.编写父类与子类

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

      3.用父类数组类型引用子类数组

    动态多态:运行时系统决定调用方法。

    静态多态(方法重载):编译时决定调用方法。

    多态:用父类可以引用子类;相同的行为,不同的实现。

    ClassCastException 转化异常

    __instanceof__ 判断前者是否是后者的实例,若为真则返回true,反之返回false

    接口

    接口特点:

    1.接口可以有任意数量的方法

    2.接口不能被实例化

    3.接口不包含任何构造器

    4.接口中所有方法都是抽象的

    5.接口中不能包含实例成员变量,唯一情况:同时声明abstract和final

    6.接口不能被一个类继承,只能由一个类实现

    7.一个借口可以继承多个接口

    接口声明:public interface 接口名{}

    接口实现:public class 子类名 extends 父类名 implements 接口名{}

    类实现接口时规则:

    1.实现接口中所有方法

    2.声明该类为抽象类

    3.一个类可以接多个接口,接口之间用逗号隔开

    接口的优点

    1将设计与实现分离,对外隐藏了实现

    2.面向接口编程是oop的核心

  • 相关阅读:
    javaweb:Filter过滤器
    javaScript:高级
    javascript:基础
    Boostrao:轮播图
    Bootstrap案列:首页界面
    Bootstrap学习笔记
    javaweb:respone
    javaweb:jsp
    五、结构型模式--->07.享元模式
    五、结构型模式--->06.组合模式
  • 原文地址:https://www.cnblogs.com/hl201211/p/4420016.html
Copyright © 2011-2022 走看看