Java进阶篇

来源:互联网 发布:剑灵女召唤捏脸数据 编辑:程序博客网 时间:2024/04/29 05:46

------- android培训、java培训、期待与您交流! ----------

1、继承

(1)在使用继承时应注意,子类是不能直接访问父类中的私有成员变量,子类可以调用父类的非私有方法,但是不能直接调用父类中的私有成员。

(2)子类对象的实例化过程:

先调用父类构造方法————>再调用子类构造方法。

(3)方法的覆写

在继承关系中也存在方法覆写的概念,但被子类覆写的方法不能比父类方法更加严格的访问权限。

class Person{void print()//属于默认访问即,default访问权限{System.out.print("父类");]}class Student extends Person{public void print()//扩大了访问权限{System.out.print("子类继承后覆写父类方法");}}


2、final关键字

(1)使用final声明的类不能有子类。

(2)使用final声明的放安防不能被子类所覆写。

(3)使用final声明的变量即成为常量 常量不可以修改。


3、为什么在进行字符串判断时要把字符串常量写在前面?

if("aa".equals(className)){f = new A();}//不写成下面这一种if(className.equals("aa")){f = new A();}//主要原因就是为了避免空指针异常

4、匿名内部类

interface A{public void print();//接口抽象方法}class B{public void fun(){this.test(new A()//匿名内部类{public void print(){System.out.print("实现接口方法");}})}public void test(A a){a.print();//调用接口方法}}
以上程序中,A是接口,接口本身是不能直接进行实例化,所以在接口实例化后面要加一个{},用于实现接口中的抽象方法。

5、异常捕获

throw和throws的综合应用:

class Math{public int div(int i,int j) throws Exception//方法可以不处理异常{System.out.print("开始计算");int temp = 0;try{temp = i/j;}catch (Exception e){throw e;//捕获异常,把异常交给被调用处}finally{System.out.print("计算结束");}}}public class Main{public static void main(String[] args){Math m = new Math();int result = m.div(10,0);try{System.out.print(result);}catch (Exception e){System.out.println("异常"+e);}}}
自定义异常类:

public class Main{public static void main(String[] args){try{throw new MyException("自定义异常。");}catch (Exception e){System.out.println(e);}}}class MyException extends Exception{public MyException(String msg){super(msg);}}

8、包
(1)编译程序时若想生成包名:javac -d. Test.java。

-d:表示生成目录。

.:表示在当前所在文件夹中生成。

(2)jar命令的使用

jar命令参数:

c:创建新的文档。

V:生成详细的输出信息。

F:指定存档的文件名。

例如:有编译好的类:com/zlf/demo/Hello.class.可以将其进行打包。

jar -cvf my.jar com。这样就将上面的com/....等打包成my.jar包了。将其设置在classpath中,就可以调用了。


原创粉丝点击