Java面向对象

一.面向对象

1.面向对象的三大特性:继承,封装,多态。

2.类其实是个模板,是一个有共同特点的集合(名词属性和动词行为)

3.类的构成:类是由抽象出的属性和行为组成的对一种实物的描述

4.对象和类的关系:类是物体属性和行为的模板

  对象是物体的具体实现.

二.封装
  1. 封装的作用:1.隐藏信息 2.安全性 3.赋值与取值
  2. 访问修饰符:
  1. default(及缺省,什么也不写):在同一个包内可见,不使用任何修饰符。使用对象:类,接,变量,方法。
  2. private:在同一类内可见。使用对象:变量,方法。注意:不能修饰类。
  3. public:对所有类可见,使用对象:类,接口,变量,方法
  4. protected:对同一包内的类和所有子类可见。使用对象:变量,方法。注意:不能修饰类。

3.非访问修饰符:

  1. static(静态的),用来修饰类方法和类变量
  2. final(常量,最终的),用来修饰类,方法和变量,final修饰的类不能被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
  3. abstract修饰符,用来创建抽象类和抽象方法
  4. synchronized修饰符,主要用于线程的编程,synchronized关键字声明的方法同一时间只能被同一个线程的访问。synchronized修饰符可以应用于四个访问修饰符
  5. volatile修饰符,volatile修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值,而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。

注意:静态资源不能声明在方法内。

  静态常量得放在静态常量池里。

(1)、被static修饰的变量不希望发生变化,但可以发生变化。

(2)、被static修饰的方法不希望被重写,但可以重写。

(3)、static是类级别的,会随着类的加载一同被加载到内存中。

(4)、被final修饰的方法不能被重写,但可以重写别人的。

(5)、被final修饰的类不能被继承,但可以继承别人。

三.继承

1.概念:就是子类继承父类的特征和行为。

2.作用: 1.子类拥有父类的属性和方法,减少重复的代码,维护性高。

2.代码简洁,提高了代码的复用性

一个子类只能继承一个父类

3.关键字: class———定义类

interface———定义接口

extends————继承父类

implements———实现接口

extendsimplements的区别:

extends 1)、只能单继承

2)、继承父类时,父类中可以存在方法的默认实现

3)、发生在子类和父类之间

implements 1)、多实现

2)、在实现接口时接口中不能有方法实现

3)、发生在实现类和接口之间

4.继承的优点: 1)、提高代码的复用性

2)、提高代码的可维护性

3)、提高类和类之间的关联性

5.继承的缺点:耦合度高就会造成代码之间的联系越紧密,代码独立性越差。

6.superthis关键字:

super关键字:1.我们可以通过super关键字来实现对父类成员的访问,用来引             用当前对象的父类

2.super调用构造方法时,只能是第一句

3.super不能访问父类的private成员。

四.构造方法

构造方法是用来创建一个类的对象,写一些跟类初始化相关的代码。

必须先执行构造方法,才能创建对象!如果没有编写构造方法,Java会默认提供一个无参无码的构造。

只要参数列表不同(1.数量不同2.顺序不同3.类型不同),可以创建无数构造方法

方法重载:

  1. 方法名相同
  2. 参数列表不同
  3. 同一个类中才会发生
  4. 重写(override)跟重载(overload)压根没关系

抽象类不能创建对象,不能写构造方法

抽象类可以有正常的属性和方法

五.抽象类:
  1. 抽象类中可以包含抽象方法
  2. 抽象方法只能在抽象类中
  3. 子类继承一个抽象父类,必须重写抽象父类中的所有抽象方法
  4. 抽象方法的作用就是定义方法编写的规则
六.接口
  1. 接口中的方法都是全局抽象方法
  2. 接口中的变量都是全局静态变量
七.多态

概念:相同类型的空间放着不同的内容

小的类型往大的类型转换,这种叫自动类型转换(向上转型)

强制类型转换(向下转型)

try{

    写代码,匹配异常

} catch{

    处理异常

} finally{

    无论是否存在异常,都会执行finally

}

    throws抛出异常,让调用方法的地方进行异常处理

    Throw 自定义异常

try里面写着的都是正常的代码,当代码执行出现异常会被catch捕获,finally是无论是否产生了异常都会执行

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值