java学习01

来源:互联网 发布:淘宝网中年女士睡衣 编辑:程序博客网 时间:2024/06/05 00:58
 

1.JDK即java development kit,java开发工具包。

2.java特性

简单性(语言类似C和C++,没有指针、结构、内存管理、枚举,丰富的类库)、面向对象(封装性、继承性、多态)、跨平台(JVM半解释半编译)、多线程、健壮(强类型、提供内存管理即垃圾回收机制)、安全(删除了指针和释放内存管理,安全体系架构)、解释的

3、方法访问控制

 publicprotectdefaultprivate同类可以可以可以可以同包可以可以可以 子类(不同包)可以可以  通用性可以   4、接口

   接口中所有的方法都是public abstract。
   在接口中声明方法时,不能使用native、static 、final 、synchronized 、private 、protected等修饰符。

   一个接口可以继承自另一个接口。java中不允许类的多继承,但允许接口的多继承。


   接口中可以有数据成员,这些成员默认都是public static final。

   接口中的数据成员的访问方式

interface Math{double PI=3.1415926;}class Arithmetic implements Math{double roundArea(double radius){return PI*radius*radius;}}class Student{public static void main(String[] args){Arithmetic a=new Arithmetic();System.out.println(a.roundArea(3));System.out.println(Math.PI);System.out.println(Arithmetic.PI);System.out.println(a.PI);}}
5、final方法

为了确保某个方法在继承过程中保持不变且不能被覆盖,可以使用final方法。为了效率上的考虑,将方法声明为final,让编译器对此方法的调用进行优化。要注意的是:编译器会自行对final方法进行判断,并决定是否进行优化。通常在方法的体积很小,而我们确实不希望它被覆盖时,才将它声明为final。
class中所有的private和static方法自然就是final。

6、抽象方法和抽象类

在类中没有方法体的方法,就是抽象方法。
含有抽象方法的类,即为抽象类。
如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。
我们可以将一个没有任何抽象方法的类声明为abstract,避免由这个类产生任何的对象。
构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。

7、内部类

在类中没有方法体的方法,就是抽象方法。
含有抽象方法的类,即为抽象类。
如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。
我们可以将一个没有任何抽象方法的类声明为abstract,避免由这个类产生任何的对象。
构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。

class Outer{    private int index=100;    void print()    {        Inner i=new Inner();        i.print();    }    class Inner{        void print(){            System.out.println(index);        }    }}class Test{    public static void main(String[] args){        Outer o=new Outer();        o.print();//o.new Inner().prin();-----------right    //new Oter().new Inner().prin();--------right    //new Oter.Inner().prin();----------wrong    }}

在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明final。
内部类可以声明为private或protected;还可以声明为abstract或final。
内部类可以声明为static的,但此时就不能再使用外部类的非static的成员变量和非static的成员方法;
非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中才可声明static成员。

我们为什么使用内部类
1、在内部类(inner class)中,可以随意的访问外部类的成员,这可以让我们更好地组织管理我们的代码,增强代码的可读性。
2、内部类可以用于创建适配器类,适配器类是用于实现接口的类。使用内部类来实现接口,可以更好地定位与接口关联的方法在代码中的位置。
3、内部类的更多用法。

8、异常类
打开一个不存在的文件、网络连接中断、数组下标越界、正在加载的类文件丢失等都会引发异常。
Java中的异常类定义了程序中遇到的轻微的错误条件。
Java中的错误类定义了程序中不能恢复的严重错误条件。如内存溢出、类文件格式错误等。这一类错误由Java运行系统处理,不需要我们去处理。

打开一个不存在的文件、网络连接中断、数组下标越界、正在加载的类文件丢失等都会引发异常。
Java中的异常类定义了程序中遇到的轻微的错误条件。
Java中的错误类定义了程序中不能恢复的严重错误条件。如内存溢出、类文件格式错误等。这一类错误由Java运行系统处理,不需要我们去处理。

Java程序在执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。
当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。
如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。
try/catch/finally语句。




0 0
原创粉丝点击