Java——面向对象开发总结

包的定义及使用:文件夹,解决类名称重名的问题
(包就是一个文件夹)
使用:
在源文件首行使用package 包名称;
编译时:javac -d . Test.java
( .表示在当前路径下)
执行:带有包名称的主类 执行时使用java 包名.类名

要求:所有源文件必须定义包名

导入不同包的类:
import 包名.类名
eg:import www.bittech.util.Massage;

编译时按照导入顺序由编译器决定编译先后顺序
javac -d . ./*.java
一次性编译当前路径下所有java源文件

系统常用包:
java.lang:系统基础类,Object、String,此包从JDK1.1默认导入。
java.util:系统工具包,类集框架,List、Set、Map、Arrays。
类的全名称:包名.类名 java.util.Arrays

权限访问控制修饰符:
private<default(包访问)<protected<public
default:包访问权限,仅限于同一个包中可以直接访问。
protected:继承访问权限,在不同包中有继承关系的类之间可以访问。

jar命令
jar包:压缩包,将n个class文件压缩到一个jar压缩包中。(编译后的class文件)
jar -cvf jar名称.jar class文件
eg:jar -cvf Massage.jar Massage.class

单例模式:一个类只有一个对象
地球 太阳
国家主席

**如何限制对象的产生数量?(要会写)
1.private声明构造方法–>彻底没有对象
2.类的内部提供一个产生好的静态对象–>单例
3.单例类内部提供静态方法返回唯一的一个对象
//饿汉式单例
class Singleton{
private static final Singleton singleton=new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return singleton;
}
}

//懒汉式单例
class Singleton{
private static final Singleton;
private Singleton(){}
public static Singleton getInstance(){
if(Singleton==null){
singleton=new Singleton();
}
return singleton;
}
}

饿汉式单例上来就new,懒汉式单例用时再new
写就写饿汉式单例,懒汉式单例存在线程安全问题(双重加锁单例模式)

对象的产生是通过构造方法产生对象

多例模式(概念):一个类的对象数量是有限个–枚举
eg:一周天数 性别
异常体系:
当程序出现错误时,能最大化的减少损失的一种保护手段。
java中异常也是类
异常的类继承关系:只有Throwable以及其子类能够进行异常捕获与处理。
Error:描述JVM运行时内部的错误,如栈溢出,堆溢出。 Exception:程序中普遍存在的,由于代码问题产生的错误。
-IOException:由于输入输出产生的异常,如在程序中打开了一个并不存在的文件。
-RuntimeException:发生在运行时异常,如数组越界异常、类型转换异常、空指针异常(NPE)
Throwable
Error Exception
IOException RuntimeException
受查异常:除了非受查异常的所有异常类都属于受查异常。强制用户进行异常处理。
非受查异常:Error RuntimeException及其子类。不强制用户进行异常处理。

异常处理:当异常产生时,尽量保证异常之后的代码能够正常执行
异常处理格式:
try
[catch…]
[catch…]

[finally]
try…[1…n]catch…
try…finally…
try…[1…n]catch…finally…

try:所有可能出现异常的代码
catch:当相应异常出现时,捕获该异常,然后自定义处理方式。
finally:保证重点代码(如IO流的关闭,JDBC资源的释放等)
一定会被执行的机制,无论是否产生异常,finally代码块中代码一定会被执行。
public static int test(){
try{
System.out.println(10/0);
return 0;
}catch(ArithmeticException e){
return 1;
}finally{
return 2;
}
}

唯一除了以下代码:System.exit();
try{
System.out.println(“1”);
//系统退出
System.exit(0);
}catch(Exception e){
System.out.println(“2”);
}finally{
System.out.println(“3”);
}

throws:用在方法声明上,明确表示该方法可能会产生异常。当异常产生时,将异常对象扔还给调用者。
throw:用在方法中,表示人进行异常对象的产生。一般与自定义的异常类搭配使用。
public static void main(String[] args){
test();
}
public static void test() {
throw new RuntimeException(“今天不上班,扔个异常玩一玩”);
}

自定义异常类:extends RuntimeExceptinon or Exception

猜你喜欢

转载自blog.csdn.net/qq_43876267/article/details/88932909