Java基础-03
Java基础-03
面向对象基础
面向过程和面向对象的区别
- 面向过程:按照步骤做,第一步做什么,第二步做什么,适合处理一些简单的问题。
- 面向对象:对于复杂的事物,从宏观上把握,从整体上分析。对事物进行分类。适合处理复杂的事物。
面向对象的本质:以类的方式组织代码,以对象的形式封装数据。
首先先理解抽象的含义。
所谓抽象:将事物的相同特性抽离出来,组织为类的形式。
面向对象的3大特征:封装、继承、多态。
- 封装:将代码中的相关数据封闭起来,对外只提供接口。
- 继承:子类继承父类。得到父类的东西。
- 多态:
类和对象的区别?
类是一个抽象的数据类型,是对某一个具体事物的描述,而对象是类的实例化,表示某一个具体的类。
关于继承
Java中,继承使用 extents标识,子类继承父类时,可以继承其非私有的属性和方法。私有属性或私有方法无法继承。
所有的类全部继承于Object类。
Java中,只存在单继承,不存在一个类继承多个类。
区别this关键字和super关键字。
this表示当前类,super表示父类。
重写和重载的区别
重写是指在继承的时候,子类重写了父类的方法。父类的功能子类可能不需要,或者不一定满足。
重载是指方法名相同,方法类型或者返回类型不同。
关于多态的理解
一个对象的实际类型是确定的,但是可以指向不同的引用类型。
多态存在的条件:存在继承关系,子类重写了父类的方法,父类引用指向子类对象。
多态是方法的多态,属性没有多态。
Student s1 = new Student();
// 父类的引用指向子类对象。
Person p1 = new Student();
// 子类重写了父类的方法
s1.say();
// 执行的是重写过的子类方法
p1.say();
// 子类特有的方法
s1.study();
不是所有的方法都可以重写。
- static修饰的静态方法:属于类自身的,不可以被重写。
- private私有的方法,无法继承,因此也不能被重写。
- final修饰的方法,不能被重写。
异常
Java中,将异常当作对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类。
异常类分为两大类:错误Error、异常Exception
int a = 2;
int b = 0;
try {
// 监控区域
System.out.println(a/b);
}catch (ArithmeticException e){
// catch捕获异常,括号内为想要捕获的异常类型
System.out.println("程序出现异常!除数不能为0!!");
}finally {
// 处理完之后需要的操作
// 比如一些善后工作;关闭IO等
System.out.println("finally");
}
还可以主动抛出异常:
public static void main(String[] args) {
new Demo02().test(1,0);
}
public void test(int a, int b){
if(b == 0){
throw new ArithmeticException();
}
}
如果自身不能处理该异常,可以往外抛出。
public static void main(String[] args) {
try {
new Demo03().test(1,0);
} catch (ArithmeticException e) {
e.printStackTrace();
} finally {
System.out.println("finally!!!");
}
}
public void test(int a, int b) throws ArithmeticException{
}

浙公网安备 33010602011771号