章封装
1封装
封装就是将属性私有化,提供公有的方法访问私有属性。
(1)修改属性的可见性来限制对属性的访问
(2)为每一对属性创建一对赋值方法和取值方法
(3)在赋值和取值方法中加入对属性的存取限制
Private String name;
Public String getName(){
Return name;
}
Public void setName(String name){
This.name=name;
}
2构造方法
方法名与类名相同,没有返回类型
使用new关键字实例化对象的过程实际上就是调用构造方法的过程
3方法重载
如果两个方法名称相同,但参数项不相同,那么认为一个方法是另一个方法的重载方法,而此过程称为“方法重载”
第二章继承和多态
1继承
(1)在Java语言中,用extends()关键字来表示继承了另一个类
Public class class1 extends class2{}
(2)在父类只定义一些通用的属性与方法
(3)子类自动继承父类的属性和方法,子类中可以定义特定的属性和方法
(4)在子类构造方法中,通过super关键字调用父类的构造方法
(5)如果子类中重写父类的方法,可以通过super关键字调用父类方法
2多态
(1)子类重写父类方法
(2)把父类类型作为参数类型,该父类及子类对象作为参数传入
(3)运行时,根据实际创建的对象类型动态决定使用那个方法
第三章接口
1接口
(1)定义一个Java接口Introduceable,在其中定义detail方法,但没具体实现
(2)教员类和中心类分别实现这个Java接口,对detail方法有各自不同的具体实现
(3)在中心类的打印(print)方法中,接收Java接口作为参数
2面向接口编程
(1)抽象出Java接口
(2)实现java接口(implements)
(3)使用java接口
3常量
(1)在Java中,在变量声明中加入final关键字代表常量,加入static关键字代表类变量。一般情况下,我们把static与final结合起来声明一个变量
Public static final int male=2;
(2)尽量使用含义直观的常量来表示那些在程序中多次出现的数字或字符串
第四章异常处理
1异常
常见的异常类型
异常说明
Exception异常层次结构的根类
ArithmeticException算数错误情形,如以零做除数
ArryIndexOutOfBoundsException数组大于或小于和司机的数组大小
NullPointerException尝试访问Null对象成员
ClassNotFoundException不能加载所需类
InputMismathException欲得到的数据类型与实际输入的类型不匹配
IllegalArgumentException方法接收到非法参数
(1)try-catch
(2)try-catch-finally
(3)多重catch
2异常处理
(1)声明异常
(2)捕获异常
(3)抛出异常
3日志文件
(1)在工程中加入log4j所使用的Jar文件
在Eclipse菜单栏上选择“项目”-〉“属性”-〉“java构建路径”--〉“库”-〉“添加外部JAR”选项,在弹出的窗口中,找到自己机器上存在的文件:log4j-1.2.x.jar,并确认。
(2)创建log4j.properties文件
(3)在程序中使用log4j记录日志文件
import org.apache.*;
import org.apache.log4j.Logger;
import teacher.AccpTeacher;
public class AccpTeacherLog4j {
/**
* @param args
*/
public static void main(String[] args) {
AccpTeacher teacher = new AccpTeacher(0, null, null);
//获取日志记录器,这个记录器将负责控制日志信息
Logger logger =Logger.getLogger(AccpTeacherLog4j.class.getName());
try{
//输出日志信息
logger.debug("请正确设置教员编号。");
teacher.setId(88);
}
catch(IllegalArgumentException ex){
//输出日志信息
logger.info(ex.getMessage());
}
}
}
(4)编写log4j.properties文件,配置日志信息
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
### 把日志信息输出到文件:accp.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=accp.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n
### 设置优先级别、以及输出源 ###
log4j.rootLogger=debug, stdout, file
(1))log4j允许日志请求被输出多个输出源,一个输出源被称作一个appender.示例中共有两个appender,个命名为stdout,使用了ConsoleAppender,通过配置Target属性,把日志信息写到控制台,其效果等同于直接把信息打印到System.out上了。第二个appender命名为file,使用了FileAppender,通过配置File属性,把日志信息写到指定文件(accp.log)
(2)layout指定了日志输出的样式。示例中的两个输出都使用了PatterLayout,可以灵活的制定布局模式。但是要配置layout.ConversionPattern属性,其中:%d{yyyy-MM-dd HH:mm:ss}用来设置输出日志的时间,输出格式类似于2009-10-21 16:15:39;%m用来输出代码中指定的信息;%n用来输出一个回车换行符;%1用来输出日志的发生位置,包括类名,发生的线程,以及代码中的行数。例如如果输出为chap4.AccpTeacherLog4j.main(AccpTeacherLog4j.java:18),说明日志事件发生在AccpTeacherLog4j类中的main线程中,在代码的行数为第16行。
(3)日志信息具有输出优先级,优先级从高到底分别是error,warn,info,debug.示例中的后一行代码设置优先级别为debug,这样,使用debug方法和info方法打印的日志信息都将被输出。另外,示例中的后一行代码还说明:日志将分别被输出到控制台以及accp.log文件中。提示一点:如果优先级别设为info,那么使用debug方法打印的日志信息将不被输出。
- 高中毕业可以学武汉北大青鸟Java课程吗?
- 武汉北大青鸟Java前景怎么样?
- Java程序员的就业前景怎么样?
- 学会Java工程师后的就业前景如何?
- Java和C++之间的区别以及它们的就业前景
- JavaScript 中的时间对象是什么?
- JavaScript中的函数then()是什么意思?
- Java是什么语言?Java面试题
- 面试题:java中有哪些运算符?
- Java中的锁的各种定义?Java中的锁三种类型
看过该Java开发的还看过
本文标题:#使用Java实现面向对象编程#,宏鹏发布于北大青鸟鲁广校区。使用Java实现面向对象编程。