在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象
面向对象的特点主要可以概括为封装性、继承性和多态性。
封装性:将对象的属性和行为封装起来,不需要让外界知道具体实现细节(在定义一个类时,将类中的属性私有化,即使用private关键字来修饰)
继承性:类与类之间的关系,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展
多态性:在程序中允许出现重名现象,它指在一个类中定义的属性的方法被其他类继承后,它们可以有不同的数据或表现出不同的行为
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体,类是对象的抽象,它用于描述一组对象的共同特征和行为
在java中,null是一种特殊的常量,当一个变量的值为null时,则表示该变量不指向任何一个对象
构造方法:是类的一个特殊成员,她会在类的实例化时被自动调用
1、构造方法与类名相同
2、在方法名的前面没有返回值类型的声明(不能有void)
3、在方法中不能使用return语句返回一个值
注释:在一个类中可以定义多个构造方法
在java中的每个类都至少有一个构造方法,如果在一个类中没有定义构造方法,系统会自动为这个类定义一个默认的构造方法,这个默认的构造方法没有参数,在其方法体中没有任何代码,即什么也不做。一旦为该类定义了构造方法,系统就不再提供默认的构造方法。
this代表其所在函数所属对象的引用(代表对象的引用)
this()构造方法:只能在构造方法中使用this调用其它的构造方法,不能再成员方法中使用。调用其它的构造方法,必须放在构造器中的第一句。不能在一个类的两个构造方法中使用this互相调用。
垃圾回收:java虚拟机会自动回收垃圾对象所占用的内存空间,调用System.gc()方法。当一个对象在内存中被释放时,它的finalize()方法会被自动调用。
static关键字:某些数据在内存中只有一份,而且能够被一个类的所有实例对象所共享,只能用于修饰成员变量,不能修饰局部变量,在一个静态方法中只能访问用static修饰的成员
内部类:内部类可以在外部类中被使用,并能访问外部类的成员 ,如果内部类被声明为私有,外界将无法访问。
内部类的创建: 外部类名.内部类名 变量名=new 外部类名().new 内部类名();
1、在静态内部类中只能访问外部类的静态成员 2、在静态内部类中可以定义静态的成员,而在非静态的内部类中不允许定义静态的成员