对象数组:

    对象的元素不是基本类型,而是引用类型



java 的二维数组( 本质没有二维数组)

    是伪的

    是数组 套 数组


package day19;
public class Demo1 {
    public static void main(String[] args) {
        int[][] ary = {{1,2,3},{4,5},{6,7,8}};
        System.out.println(ary[0][0]);
    }
}


抽象类 表达抽象概念

    不能直接创建对象(不能使用new创建对象)

    他代表逻辑上的抽象概念

抽象类可以保护抽象方法,使用abstract声明的方法

使用 abstract class animal{} 创建抽象类

抽象类可以定义变量(属性)可以定义方法,引用具体子类的实例(对象)

抽象方法不能有方法体,在抽象类中定义

抽象类只能被继承,在具体子类中必须实现全部抽象方法(重写抽象方法)

抽象类可以有普通方法


接口

    interface

    public interface draw{
        void draw();//接口内的方法省略abstract
        //publice void draw();
    }

    相当用于一种抽象类 他是抽象类的延伸 

    属性只能是常量,定义的任何字段都是自动是 static final。方法只能是抽象方法(没有方法体)修饰词只能使用public abstract ,只要有的东西都是抽象的。

    语法接近抽象类 

    子类实现接口:理解为子类继承接口

    接口可以实现多继承的逻辑关系

     接口之间也是可以继承的



java   源文件结构

    java文件中可以有多个类,但是只能有一个公有类,文件名要和公有类一致

    若没有公有类,文件名与某个类名一致

    公有类可以在任何位置可见,可以跨包访问,文件中的其他类是默认访问修饰,只能在当前包内可见

    

    一般情况下:一个源文件中一个公有类

    

    关键字出现顺序:

    package 一般都有 在第一行

    import 

        默认导入import java.lang.*;

    class