学习java—第十五天学习笔记

154 阅读3分钟

2019.7.31 NIIT第十五天 /今天是周三,过了今天一周又快结束了/

一、static关键字

  • 静态修饰符,被修饰的成员属于类,不用通过对象可以直接调用
  • 被修饰的成员属性,会影响每一个该类创建的对象
  • 静态方法不能调用动态方法/动态属性
  • 如果该成员变量/方法,被所有类共享,可以定义为static

二、final关键字

  • 最终修饰符,可以修饰类,成员方法,变量
  • final 修饰的类,不可以被继承->无法被重写
  • 最终的!不能被改变
  • 无法重写父类中的final方法
  • 被final修饰的是常量,不能被修改,必须要有初始值
  • 可以被调用,但是在定义完成之后,无法再赋值

final和static连用

引用类型的变量用final修饰,是指其引用的对象不能改变,即地址不改变

/理解:被final修饰之后,就改不了了!/

三、包管理

分包管理是组织软件结构的基本方式

在同包下使用相关的类是不用导包的

在不同包下的类需要导包,使用import关键字

如果导入包后,如果出现相同类名,使用全类名,不然默认使用本包里的类

四、访问权限

权限 同一类 同一个包中(子类与无关类) 不同包的子类 不同包中的无关类
public
protected
(空的)defaule
private

五、内部类

内部类即在类中定义另外一个类,是一个相对概念

内部类分为成员内部类与局部内部类

	public class TestNest {
		public static void main(String[] args) {
			//创建内部类对象
			NestedClass.Inner inner=new NestedClass().new Inner();
			inner.innerMethod();
			//先创建外部类
			NestedClass nc=new NestedClass();
			NestedClass.Inner inner1=nc.new Inner();
		}
	}

局部内部类不能用public修饰,内部的成员方法和属性可以用public

类名用public修饰必须与文件名相同

一个文件中只能有一个public修饰类

调用局部内部类里的方法的时候,需要在外方法中创建对象,然后利用该对象进行局部内部类中方法的调用

		public class NestedPartClass {
		public void method() {
			//在方法中定义类,就称之为局部内部类
			class Inner{
					public String name;
					public void method() {
						System.out.println("调用内部类");
				}
				
			}
			Inner i=new Inner();
			i.method();
		}
	}

只使用一次的情况,可以使用匿名内部类

六、内部类的使用

一般内部类为外部类的组成部分

七、异常概述与分类

异常:就是程序运行中出现的不正常的情况

异常的由来:程序中的问题也是现实生活中的一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象

八、异常的分类

	Throwable
		Error (错误:一出现就是致命的)
			服务器宕机,数据库崩溃等
		Exception
			RuntimeException(运行时异常,一般都是程序员犯的错误,需要修改源码的.)

抛出异常:throws

让JVM虚拟机处理的方式等同于不处理,整个程序就会终止

捕获异常:try{}catch{}

如果异常被捕获,则其他代码正常使用不受影响

NullPointerException->空指针异常

ArrayIndexOutOFBoundsException->数组下标越界

try{}内产生异常,会执行catch{}然后顺序向下执行

子类不能抛出比父类更多的异常

子类可以抛出比父类异常范围小的异常

如果父类没有抛出异常,子类重写方法的时候也不能跑出异常

九、finally

不管是否有异常产生,都会去执行finally的代码

	try{
		可能出现异常的代码
	}
	catch{
		异常出现后的处理/提示代码
	}
	finally{
		处理/提示完后执行的代码
	}