J2SE知识点摘记(六)
1、 static关键字的使用
static 关键字:可以用于修饰属性,也可以用于修饰方法,还可以用于修饰类.
static 修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一一份静态的成员变量;一个对象对该静态成员变量进行了修改,其他对象的该静态成员变量的值也会随之发生变化.如果一个成员变量是static 的,那么我们可以通过 类名 .成员变量名 的方式来使用它 的方式来使用它 (推荐使用这种方式) .
static修饰方法: static 修饰的方法叫做静态. 对于静态方法来说,可以 使用 类名 .方法名的方式来访问.(可以由类名直接调用)
静态方法只能继承,不重写.
不能在静态方法中访问非静态成员变量;
不能在静态方法中使用this关键字.
如果在类中声明一个static类型的属性,则此属性既可以在非static类型的方法中使用,也可以在static类型的方法使用.但若要用static类型的方法调用非static类型的属性,就会出现错误.
2、 一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只执行一次.静态代码块经常用来进行类属性的初始化.例子:static {.........}静态代码块"{......}"只执行一次,且优先于静态方法(或者构造函数??),由此可知:静态代码块可以对静态属性初始化.
3、 final关键字的使用
在java中声明类,属性和方法时,可使用关键字final来来修饰
final标记的类不能被继承.
final标记的方法不能被子类覆写.
final标记的变量(成员变量或局部变量)即为常量,只能赋值一次.
4、 Package
package 包的名称;将下面的类和接口打包.例子: "package demo.java"
import package 名称.类名称.一般是import ..... .*导入全部类.
5、 一般来说 访问控制分4种级别:
公开:public 同类 同包 子类 不同包 都可以访问
默认:只向同包同类放开
私有:private 只有类本身可以访问
保护:protected 向子类以及同一个包中的类放开
6、
异常的处理
try{要检查的程序语句;}
catch(异常类
对象名称){异常放生时的处理语句:}
finally{一定会运行到的程序代码;}
try程序块若是有异常发生,程序的运行便中断,并抛出"异常类所产生的对象".抛出的对象如果属于catch()括号内欲捕获的异常类,catch则会捕捉次异常,然后进到catch的块里继续运行.最后一定会运行finally块里的程序代码.
throw异常类实例对象;
throw则是指抛出的一个具体的异常类型.
抛出异常时,throw关键字所抛出的是异常类的实力对象,因此throw语句必须使用new关键字来产生对象.throws是用来声明一个方法可能抛出的所有异常信息.
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息.
throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;
throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛.
7、
编写异常类
class
异常名称 extends Exception {......}
Exception构造方法:public Exception(String
message)
J2SE知识点摘记(六)的更多相关文章
- J2SE知识点摘记(二十六)
为了用“集合框架”的额外部分把排序支持添加到 Java 2 SDK,版本 1.2,核心 Java 库作了许多更改.像 String 和 Integer 类如今实现 Comparable 接口以提供自然 ...
- J2SE知识点摘记(十六)
1. IO包中的类层次 ┌BufferedInputStream ├DataInputStream ┌FilterInputStream┼LineNumberInputStream ├ ...
- J2SE知识点摘记-数据库(二)
一. 查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...
- J2SE知识点摘记(十八)
Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: 1) Collection . 一组对立的元素,通常这些元素都服从某种规则.List必须保持元素特定的顺序,而Set 不能有重复 ...
- J2SE知识点摘记(五)
1. 引用数据类型的传递 java用引用代替C++中的指针 fun()方法接收的参数是是Change c1,也就是说说fun()方法接受的是一个对象的引用,所以fun方法中所所做的操作就 ...
- J2SE知识点摘记(四)
1. 抽象类(abstract) 抽象类和抽象方法都必须用abstract关键字来修饰. 抽象类不能被直接实例化,也就是不能直接用new关键字去产生对象. 抽象方法只需声明,而不需实现. ...
- J2SE知识点摘记(三)
1. 在java只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类.但在java中却允许多层继承. 2. 非内部Class只能被public或者defaul ...
- J2SE知识点摘记(二)
1. 对象的声明 "类名 对象名 = new 类名();"例子:Person P;//先声明一个Person类的对象p p=new Person();//用new关键字实例化 ...
- J2SE知识点摘记(一)
1. 数组的声明时无法指定数组的长度. 2. 一维数组的声明和内存的分配 "数据类型 数组名[]; //声明一维数组 数组名= new 数据类型[ ...
随机推荐
- angularjs factory,service,provider 自定义服务的不同
angularjs框架学了有一段时间了,感觉很好用.可以把angularjs的app理解成php的class,controller是控制器,而内置服务和自定义服务就可以理解成models了.angul ...
- PNG图片小结
PNG: 便携式网络图形(Portable Network Graphics,PNG)是一种无损压缩的位图图形格式,支持索引.灰度.RGB三种颜色方案以及Alpha通道等特性.PNG的开发目标是改善并 ...
- Big Number(大数)
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 【原创】QT5-卸载精灵v1.0-卸载windows软件-简易版
由于项目需求,需要实现卸载windows上的普通软件的小功能,实现起来还是比较简单的. 先发个图: 思路: 1.根据注册表的信息去打开应用程序,卸载也一样: 2.读桌面的快捷方式,根据快捷方式的指向路 ...
- Android之SurfaceView学习
首先我们先来看下官方API对SurfaceView的介绍 SurfaceView的API介绍 Provides a dedicated drawing surface embedded inside ...
- 【hihocoder 1249 Xiongnu's Land】线性扫描
2015区域赛北京赛区的三水,当时在赛场上没做出的原因是复杂度分析不正确导致把方法想复杂了.近来复习复杂度分析,觉得不能只是笼统地看渐进复杂度(big-O),更应根据算法的伪码计算真正的以基本操作数为 ...
- Another attempt about LSI
Last week I was here Natural Language Processing in NZ. Someone asked a question, is there any exist ...
- 创建渐进式jpeg图片
<?php // Create an image instance $im = imagecreatefromjpeg('test.jpg'); // Enable interlancing ...
- 演示如何通过 web api 上传文件MVC40
演示如何通过 web api 上传文件WebApiWebFormHost/UploadFileController.cs /* * 通过 web api 上传文件 */ using System; u ...
- and then set HOMEBREW_GITHUB_API_TOKEN.
andyMacBook-Pro:~ andy$ brew search redis hiredis redis homebrew/nginx/redis2-nginx-module Error: ...