Java类与对象知识点总结


面向对象程序程序设计(Object Oriented Programming)是当今主流的程序设计范型;一般会提供类、封装、继承等语法和概念来辅助我们进行面向对象编程。在面向过程程序设计中,数据和对数据的操作是分离的,因而这种做法需要把数据传递到过程和函数中;而面向对象程序设计把数据和属于它们的操作放入同一个数据结构,数据和操作都在同一个统一体内,所以解决了面向过程程序设计不可避免的很多问题。面向对象是基于万物皆对象这个哲学观点. 所谓的面向对象就是将我们的程序模块化,对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放到一个类里面。

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

2.类与对象的关系:类是对象的模板,对象是类的实例,类只能通过对象才能使用。

3.类的组成为属性和方法。

4.对象的产生格式:类名称 对象名称 = new 类名称()。

5.如果一个对象没有被实例化而直接使用,则使用时会出现空指针异常。

6.类属于引用数据类型,进行引用传递时,传递的是堆内存的使用权。

7.类的封装性:通过private关键字进行修饰,被传递的属性不能被外部直接调用,而只能通过getter或setter方法完成,只要是属性则必须封装。

8.构造方法可以为类中的属性初始化,构造方法与类名称相同,无返回值类型声明,如果在类中没有明确的定义出构造方法,则会生成一个无参的构造方法,在一个类中的构造方法可以重载,但是每个类都至少有一个构造方法。

9.String类在Java中比较特殊,String可以使用直接复制的方式,也可以通过构造方法进行实例化,前者指产生一个实例化对象,而且此实例化对象可以重用,后者将产生两个实例化对象,其中一个是垃圾空间,在String中比较内容是用equals方法,而“==”比较的是两个字符串的地址值。字符串的内容一旦声明则不可改变。

10.在Java中使用this关键字可以表示当前对象,通过“this.属性”可以调用本类中的属性,通过“this.方法”可以调用本类中其他方法;也可以通过this()的形式调用本类中的构造方法,但是调用时要求放在构造方法的首行。

11.使用static声明的属性和方法可以由类名称直接调用,static属性是所有对象共享的,对可以对其进行操作。

12.如果需要限制类对象的产生,则可以将构造方法私有化。

13.对象数组的使用要分为声明数组和为数组开辟空间两步。开辟空间后数组中的每个元素的内容都是null。

14.内部类是在一个类的内部定义另外一个类,使用内部类可以方便访问外部类的私有操作。在方法中声明的内部类要想访问方法的参数,则参数前必须加上final关键字。

15.继承可以扩充已有类的功能,通过extends关键字实现,可将父类的成员继承到子类。

16.Java在执行子类的构造方法前会先调用父类中无参的构造方法,其目的是为了继承自父类的成员做初始化操作

17.父类有多个构造方法时,如要调用特定的构造方法则可在子类的构造方法中通过super()关键字实现。

18.this()用于在同一类内调用其他构造方法,而super()则用于从子类的构造方法中调用其父类的构造方法。

19.使用this调用属性和方法时会现在本类中查找,如果本类中没有再从父类中查找,而使用super则会直接从父类中查找需要的属性和方法。

20.this()与super()相似之处在于:当构造方法重载时,两者均会根据所给予的参数类型与个数正确地执行相对应的构造方法;两者均必须编写在构造方法内的第一行,也正是这个原因,this()和super()无法同时存在同一个构造方法中。

21.重载(overloading)是指在相同类内定义名称相同但参数个数或类型不同的方法,因此,Java可依据参数的个数或类型调用相应的方法。

22.重写(overriding)是在子类当中定义名称、参数个数与类型均与父类相同的方法,用来覆写父类中的方法。

23.如果父类的方法不希望被子类覆写,可在父类的方法前加final关键字。

24.final加在数据成员变量前,这样该变量变成一个常量,因此无法在程序代码中再做修改。使用public static final可以声明一个全局常量。

25.所有的类均继承自Object类。一个好的类应该覆写Object类中的toString()、equals()、hashCode()3个方法,所有的对象都可以向Object类进行向上转型

26.抽象类不能直接用来产生对象,必须通过对象的多态性进行实例化操作。

27.抽象类的方法分为两种,一种是一般的方法,另一种是以abstract关键字开头的抽象方法。抽象方法并没有定义方法体,而是要保留给由抽象类派生出的新类来定义。

28.接口是方法和全局常量的集合,接口必须由子类来实现,一个接口可以同时继承多个接口,一个子类可以同时实现多个接口。

29.Java不允许类的多重继承,但是允许实现多个接口。

30.Java对象的多态性分为向上转型(自动)和向下转型(强制)。

31.通过instanceof关键字可以判断对象属于哪个类。

32.匿名内部类的作用是可利用内部类创建不具有名称的对象,并利用它访问类中的成员

33.在Java中使用package关键字来将一个类放入一个包中。

34.在Java中使用import语句可以导入一个已有的包。

35.Java中的访问控制权限分为4种,即private、default、protected、public。

优质内容筛选与推荐>>
1、SpringMvc 事务的注解配置、实现、挂起
2、在生活中慢慢体会
3、面向对象程序设计与面向过程程序设计解析
4、大数据笔记-外存算法
5、redis的数据持久化存储


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号