java基础(二)

1.面向对象程序设计(OOP Object Oriented Programming; OOD Object Oriented Design)

2.类: 类是一种抽象的概念,类中包含了数据与对数据的操作。比如说,人就是抽象的概念,人具有姓名,年龄,性别等数据,还有吃饭,睡觉等操作数据的动作。
a)数据,数据在类中称做属性(property)或者叫做成员变量(Member variable)
b)对数据的操作,这种操作在类中称做方法(method)

3. 对象:对象是一种具体的概念,是类的一种具体表示方式。比如说人是个类,而张三等具体的人就是对象。

4.面向对象程序设计的三大基本特征:继承,封装,多态。
1) 继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
2)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。简单的说:类包含了数据与方法,将数据与方法放在一个类中就构成了封装。
3) 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题.

5.局部变量使用前必须要声明并赋初值;成员变量使用前必须要声明,但可以不赋初值。
成员变量与局部变量的联系与区别:
1) 无论成员变量还是局部变量,使用前都必须要声明(定义)
2) 对于局部变量来说,使用前必须要初始化,对于成员变量来说,使用前可以不初始化。如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个默认的初始值。
byte,short,int ,long 的初始值为0
float,double 的初始值为0
char的初始值为'\u0000'
boolean 的初始值为false

6.引用类型:引用类型是用在对象上的,一个对象可以被多个引用所指向,但同一时刻,每个引用只能指向唯一的一个对象。如果一个对象被多个引用所指向,那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。

7.如果一个类包含了属性与方法,那么该类的每一个对象都具有自己的属性,但无论一个对象有多少个对象,这些对象共享同一个方法。

8.对于java中的方法参数传递,无论传递的是原生数据类型还是引用类型,统一是传值。

9.构造方法:用于完成对象属性的初始化工作。特点:
1) 构造方法的名字必须与类名完全一致
2) 构造方法没有返回值,连void也不能出现。
3) 如果在定义一个类的时候,没有为类声明构造方法,那么java编译器会自动为类添加一个没有参数且方法体为空的构造方法(默认的构造方法)
4) 如果在顶一个类的时候,为类声明了构造方法,那么java编译器就不会再为类添加构造方法了。
5) 不能显示调用类的构造方法,构造方法通常是通过new关键字隐式调用。

10.new关键字在生成对象时完成了三件事:
1) 为对象开辟内存空间
2) 调用类的构造方法
3) 将生成的对象的地址返回

11.方法重载(overload)表示两个活多个方法名字相同,但是方法参数不同。方法参数不同有两层含义 参数个数不同。参数类型不同。 注意:方法的返回值对重载没有任何影响。

12.构造方法重载:只需要看参数即可。如果想在一个构造方法中调用另外一个构造方法,那么可以使用this()的方式调用,this()必须要作为构造方法的第一个条语句。

13.继承:java是单继承的,意味着一个类只能从另一个类继承。java中的继承使用extends关键字。

14.当生成子类对象时,java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类的对象。接下来,在去调用子类的构造方法,生成子类的对象。

15.super关键字:super表示对父类对象的引用。
如果子类使用super()显示调用父类的某个构造方法,那么在执行的时候就会寻找与super()所对应的构造方法。与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他可执行语句。

16.关于继承3点:
1) 父类有的,子类也有
2) 父类没有的,子类可以增加
3) 父类有的,子类可以改变

17. 关于继承的注意事项:
a) 构造方法不能被继承
b) 方法和属性可以被继承
c) 子类的构造方法隐式地调用父类的不带参数的构造方法
d) 当父类没有不带参数的构造方法时,子类需要使用 super来显式地调用父类的构造方法,super指的是对父类的引用
e) super关键字必须是构造方法中的第一行语句。

18.方法重写(override)又叫做覆写。子类与父类的方法返回类型一样,方法名称一样,参数一样。
方法重写与方法重载之间的关系: 重载发生在同一个类内部的两个或多个方法。重写发生在父类与子类之间。

19. 当两个方法形成重写关系时,可以在子类方法中通过super.run()形式调用父类的 run()方法,其中super.run()不必放在第一行语句,因此此时父类对象已经构造完毕,先调用父
类的run()方法还是先调用子类的run()方法是根据程序的逻辑决定的

20.在定义一个类的时候,如果没有显示指定父类,那么该类就会继承java.lang.Object类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值