黑马程序员-- 面向对象VII--
2014-06-14 14:19
155 查看
------- <a target="blank">android培训</a>、<a target="blank">java培训</a>、期待与您交流!
----------
匿名内部类:
就是内部类的简化写法。
前提:
内部类可以继承或实现一个外部类或者接口。
格式为:
new 外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)}
简单理解:
就是建立一个带内容的外部类或者接口的子类匿名对象。
代码解析:
interface ABC{
void show();
void show2();
}
class Outer{
public void method(){
//匿名内部类,new ABC(){} 就是接口的实现类的对象
ABC a = new ABC(){}
}
public void show(){
System.out.println("匿名...show");
}
public void show2(){
System.out.println("匿名...show22222");
}
a.show();
a.show2();
}
class NimingDemo {
public static void main(String[] args) {
//ABC abc = new ABCImpl();
//abc.show();
Outer o = new Outer();
o.method();
System.out.println("Hello World!");
}
}
异常:
异常的体系:
Throwable
Error
通常出现重大问题如:运行的类不存在或者内存溢出等。
不编写针对代码对其处理
Exception
在运行时运行出现的一起情况,可以通过try catch finally
Exception和Error的子类名都是以父类名作为后缀。
Throwable中的方法:
(1)getMessage()
获取异常信息,返回字符串。
(2)toString()
获取异常类名和异常信息,返回字符串。
(3)printStackTrace()
获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
(4)printStackTrace(PrintStream s)
通常用该方法将异常内容保存在日志文件中,以便查阅
throws和throw:
throws用于标识函数暴露出的异常。
throw用于抛出异常对象。
throws与throw的区别:
thorws用在函数上,后面跟异常类名。
throw用在函数内,后面跟异常对象。
异常处理:
try
{
需要检测的代码;
}
catch(异常类 变量)
{
异常处理代码;
}
finally
{
一定会执行的代码;
}
Finally代码块只有一种情况不会被执行。就是在之前执行了System.exit(0)。
自定义异常:
自定义类继承Exception或者其子类。
通过构造函数定义异常信息。
例:
Class DemoException extends Exception
{
DemoException(String message)
{
super(message);
}
}
通过throw将自定义异常抛出
异常细节:
A:RuntimeException以及其子类如果在函数中被throw抛出,可以不用在函数上声明。
B:一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。
C:如果父类抛出多个异常,那么重写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常
包(package):
作用:
1:对类文件进行分类管理。
照片,视频,游戏,学习
2:给类提供多层命名空间。
注意:
1:写在程序文件的第一行。:
2:名的全称的是 包名.类名。:
3:包也是一种封装形式。
包之间的访问:
1:访问的包中的类权限必须是public的。
2:类中的成员权限:public或者protected
3:protected是为其他包中的子类提供的一种权限
权限修饰符:
本类 同一个包下 不同包下的子类
不同包下的无关类
private Y
默认(什么都不写) Y
Y
protected Y Y
Y
public Y
Y Y
Y
不同的修饰符可以修饰谁:
类 成员变量
构造方法 成员方法
private Y Y Y
默认 Y Y Y Y
protected Y Y Y
public Y
Y Y Y
abstract Y
Y
static Y Y
final Y
Y Y
常见使用:
成员变量:
private
构造方法:
public
成员方法:
public
Import:
简化类名。
注意事项:
1:一个程序文件中只有一个package,可以有多个import。
2:用来导包中的类,不导入包中的包。
3:通常写import mypack.Demo;
------- <a target="blank">android培训</a>、<a target="blank">java培训</a>、期待与您交流!
----------
详细请查看:http://edu.csdn.net
----------
匿名内部类:
就是内部类的简化写法。
前提:
内部类可以继承或实现一个外部类或者接口。
格式为:
new 外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)}
简单理解:
就是建立一个带内容的外部类或者接口的子类匿名对象。
代码解析:
interface ABC{
void show();
void show2();
}
class Outer{
public void method(){
//匿名内部类,new ABC(){} 就是接口的实现类的对象
ABC a = new ABC(){}
}
public void show(){
System.out.println("匿名...show");
}
public void show2(){
System.out.println("匿名...show22222");
}
a.show();
a.show2();
}
class NimingDemo {
public static void main(String[] args) {
//ABC abc = new ABCImpl();
//abc.show();
Outer o = new Outer();
o.method();
System.out.println("Hello World!");
}
}
异常:
异常的体系:
Throwable
Error
通常出现重大问题如:运行的类不存在或者内存溢出等。
不编写针对代码对其处理
Exception
在运行时运行出现的一起情况,可以通过try catch finally
Exception和Error的子类名都是以父类名作为后缀。
Throwable中的方法:
(1)getMessage()
获取异常信息,返回字符串。
(2)toString()
获取异常类名和异常信息,返回字符串。
(3)printStackTrace()
获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
(4)printStackTrace(PrintStream s)
通常用该方法将异常内容保存在日志文件中,以便查阅
throws和throw:
throws用于标识函数暴露出的异常。
throw用于抛出异常对象。
throws与throw的区别:
thorws用在函数上,后面跟异常类名。
throw用在函数内,后面跟异常对象。
异常处理:
try
{
需要检测的代码;
}
catch(异常类 变量)
{
异常处理代码;
}
finally
{
一定会执行的代码;
}
Finally代码块只有一种情况不会被执行。就是在之前执行了System.exit(0)。
自定义异常:
自定义类继承Exception或者其子类。
通过构造函数定义异常信息。
例:
Class DemoException extends Exception
{
DemoException(String message)
{
super(message);
}
}
通过throw将自定义异常抛出
异常细节:
A:RuntimeException以及其子类如果在函数中被throw抛出,可以不用在函数上声明。
B:一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。
C:如果父类抛出多个异常,那么重写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常
包(package):
作用:
1:对类文件进行分类管理。
照片,视频,游戏,学习
2:给类提供多层命名空间。
注意:
1:写在程序文件的第一行。:
2:名的全称的是 包名.类名。:
3:包也是一种封装形式。
包之间的访问:
1:访问的包中的类权限必须是public的。
2:类中的成员权限:public或者protected
3:protected是为其他包中的子类提供的一种权限
权限修饰符:
本类 同一个包下 不同包下的子类
不同包下的无关类
private Y
默认(什么都不写) Y
Y
protected Y Y
Y
public Y
Y Y
Y
不同的修饰符可以修饰谁:
类 成员变量
构造方法 成员方法
private Y Y Y
默认 Y Y Y Y
protected Y Y Y
public Y
Y Y Y
abstract Y
Y
static Y Y
final Y
Y Y
常见使用:
成员变量:
private
构造方法:
public
成员方法:
public
Import:
简化类名。
注意事项:
1:一个程序文件中只有一个package,可以有多个import。
2:用来导包中的类,不导入包中的包。
3:通常写import mypack.Demo;
------- <a target="blank">android培训</a>、<a target="blank">java培训</a>、期待与您交流!
----------
详细请查看:http://edu.csdn.net
相关文章推荐
- 黑马程序员_面向对象
- 黑马程序员--面向对象
- 黑马程序员_面向对象的学习总结
- “黑马程序员“OC学习初体验面向对象小例子
- 黑马程序员_Java基础(2)面向对象(一)
- 黑马程序员_面向对象的三大特性
- 黑马程序员_Java面向对象——继承
- 黑马程序员_java面向对象——多态
- 黑马程序员_06_面向对象_成员变量_匿名对象_封装_构造函数_thisPrivate
- 黑马程序员------毕老师视频笔记第五天------面向对象(封装)
- 黑马程序员——OC学习——面向对象
- 黑马程序员------毕老师视频笔记第五天------面向对象(构造函数)
- 黑马程序员__面向对象之封装
- 黑马程序员-Java的面向对象(抽象类、接口、内部类和继承、组合、多态)
- 黑马程序员------毕老师视频笔记第七天------面向对象(抽象类)
- 黑马程序员学习日记--面向对象(一)
- 黑马程序员------毕老师视频笔记第八天------面向对象(接口多态的应用示例)
- 黑马程序员_Java语言_面向对象__
- 黑马程序员-Java语言基础–面向对象 第9天
- 黑马程序员-Java基础:面向对象-2