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 数据类型[ ...
随机推荐
- win7使用右键导致死机、假死、explorer无法响应的解决方法
右键引起explorer无法响应,奔溃,主要是由于COMCTL32.DLL和COMCTL21.OCX文件引起的 描述:comctl32.dll是Windows应用程序公用GUI图形用户界面模块.报告提 ...
- 数据库 count和sum区别
最近备考软考,复习数据库时候,发现count和sum,貌似差不错.就仔细查了查. 表 人 id name number 1 贱人 3 2 好人 4 select count(number) from ...
- 命名空间 - PHP手册笔记
概述 命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念,比如在操作系统中,目录用来将相关文件分组,对于目录中的文件来说,目录就扮演了命名空间的角色.这个原理应用到程序设计领域就是命名空间 ...
- 握手(bestcode#42)
Shaking hands 问题描述 今天是Gorwin的生日,所以她举办了一个派对并邀请她的朋友来参加.她将邀请n个朋友,为了方便,Gorwin把他们从1到n标号.他们之中有一些人已经相互认识,有一 ...
- 解决Java调用Azure SDK证书错误javax.net.ssl.SSLHandshakeException
Azure作为微软的公有云平台,提供了非常丰富的SDK和API让开发人员可以非常方便的调用的各项服务,目前除了自家的.NET, Java, Python, nodeJS, Ruby,PHP等语言都提供 ...
- Python中各种集合 list tuple set dict
list 创建list L = ['Adam','Lucy','Bart'] 索引访问: 正序(和数组类似) L[0],L[1],L[2] 倒序 L[-1]倒数第一个 L[- ...
- C# 如何获取当前应用程序的父目录
//获取当前运行路径的上级目录(父目录) System.IO.DirectoryInfo topDir = System.IO.Directory.GetParent(System.Environme ...
- C# 多线程 异步加载 窗体
C# 多线程 异步加载 窗体 分类: C#2014-05-28 16:57 1286人阅读 评论(0) 收藏 举报 异步加载 我们在使用 windowform 编程的时候,我们或许可能会越到,各种在窗 ...
- MFC永久窗口对象与临时窗口对象
这篇讲得很清楚,就转过来了,原文如下: 因项目需要,最近在学习MFC,下午在一篇教程中提到了临时窗口.永久窗口,作者让读者自行查阅MSDN,了解临时窗口与永久窗口的概念,出于好奇,出于方便,直接百度一 ...
- 如何优化pom依赖项?
Maven工程通过pom.xml里的<dependency>来定义依赖项.当然,我们不会少定义依赖项,否则编译不通过.不过,如果我们多定义了依赖项虽然不会造成灾难,但可能会造成一些问题,比 ...