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的核心

原文地址:https://www.cnblogs.com/hl201211/p/4420016.html