第一周学习视频(二)

一、多重继承

多重继承(即一个类有多个父类)
java不支持多重继承。
java允许一个类有一个或多个直接父接口(interface)

二、多态

相同的方法名有不同的行为。
静态多态:重载;动态多态:覆盖


编译器根据“签名”区别重载方法,但不区别返回类型
覆盖:子类覆盖了父类的方法,在程序运行时才被识别。

三、封装性

访问控制:public、protected、defalaut(同一个包允许访问)private(同一个包允许访问)

四、关键字:abstract

抽象方法只能是抽象类中的方法。
抽象类:不实例化为任何对象,由其子类具体实现。
构造函数和静态方法不能声明成抽象的。

五、关键字:static

静态的(static)域和静态的(static)方法实际上隶属于类对象。


静态的(static)域
示例: System.out


静态的(static)方法
示例: main( )
示例: Math.sqrt( ) ,public static double sqrt(double a)


静态方法可以调用同一个类里的其他方法,但只能调用同一个类中的静态方法,并且只能直接操作同一个类里的静态字段。

六、接口 interface

接口(interface)就象是一种特殊的类
成员方法: abstract;
成员域: final和static。
接口(interface)中所有的方法和域必须都是 public 的。
每个接口一般定义在一个 .java 文件中。
规范了程序内部的公共行为。


接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能实例化。
接口可以被看作是抽象类的变体,接口中所有的方法都是抽象的,可以通过接口来间接的实现多重继承。
一个类可以实现多个接口,但一个类只能继承一个抽象类。所以,使用接口可以间接地实现多重继承。
接口只有定义,不能有方法的实现。(java 1.8中可以定义default方法体)
而抽象类可以有定义与实现,方法可在抽象类中实现。(声明为抽象的方法不能包含方法体)

public interface J_Constants {  
    public static final int ONE = 1;  
    public static final int TWO = 2;  
    public static final int THREE = 3; 
    public abstract void mb_draw(Graphics2D g); 
} // 接口J_Constants结束

JDK 8.0 以后 ,interface中除了abstract方法外,可以定义 static 方法和 default 方法。

七、匿名内部类

没有类名;常常用在图形用户界面设计(GUI)中,进行各种事件处理,如: 鼠标事件、按钮事件和键盘事件等。

八、增强for语句

for(type element:集合变量名)   
statement;

这里element的类型要和“集合变量名”中的元素的类型保持一致,因为其中取出每一个元素是存在element中
这里的“集合变量”可以是数组,或者实现了Iterable接口的集合类。

九、新型switch语句

可以在switch语句的控制表达式和分支标签中使用 String 类型的变量。

十、Java中的参数传递

java不允许程序员选择按值传递还是按引用传递,java规定所有的实参都是按值传递。
方法调用可向方法传递两种类型的值: 基本类型(int类型等)值的副本、对象引用的副本 。

原文地址:https://www.cnblogs.com/caihan/p/12330088.html