java基础系列三.docx
文本预览下载声明
《 JavaOOP 》
1.类和对象:
类是拥有相同行为特征对象的一个抽象概念,而对象是类这个抽象概念中事实存在的个体。
1)类:类型,类别,一类的东西,比较抽象的
2)对象:真实存在的事物,类的具体的实例
3)现实世界由很多对象组成,先有对象,基于对象抽出了类(类型)
4)代码中,先创建类,再创建对象
5)类是对象的模板,对象是类的具体的实例
6)类中可以包含:
6.1)所有对象所共有的特征(静态的)---成员变量
6.2)所有对象所共有的行为(动态的)---方法
7)一个类可以创建多个对象,
7.1)同一个类创建的对象,结构相同,数据不同
2.面向对象编程过程:
1)先找对象
2)基于对象抽类
3)设计类中的成员变量和方法
4)创建对象,访问成员变量和方法
3.引用类型与基本类型
1)引用类型之间画等号表示指向同一个对象
2)基本类型之间画等号表示赋值为相同的值
3)引用(引用变量): 是通过对象内存地址间接引用了对象
4)引用不是对象, 引用在软件运行期间动态绑定到对象
5)引用相当于代词
4.null:
1)空,不指向任何对象
2)若引用值为null,则不能再点操作,点操作则出现空指针异常(NullPointerException)
5.方法签名:
1)方法签名 = 方法名 + 参数列表(参数的类型)
2)java规定:在一个类中,不能有两个签名完全相同的方法
6.方法的重载(overload):
1)发生在一个类中,方法名称相同,参数列表不同(参数类型不同 || 参数的个数不同)
2)在编译时编译器自动根据方法签名来绑定不同的方法
7.构造器(构造方法):
1)是描述对象的创建的过程
2)一般用来初始化对象属性
3)语法:
3.1)构造器的名字与类名相同
3.2)构造器不能声明返回类型
3.3)构造器可以有参数, 参数是创建对象的前提条件
3.4)构造器可以重载
3.5)使用new运算调用构造器, 创建对象
3.6)Java有默认构造器
3.6.1)当没有声明任何构造器时候, Javac自动添加默认构造器
3.6.2)当声明了构造器, Javac将不再添加默认构造器
8.this(这个):
1)在方法运行期间, 对当前这个对象的引用
2)Java软件是先编译后运行, this是在运行期间存在的局部变量. 在运行期间引用了当前对象. Java软件在编译期间没有对象, 只有代码指令
3)方法是统计加载到方法区的, this是方法的第一个隐含参数, 用于区别方法的调用者(调用方法的对象)
4)this的用法:
4.1)this.成员变量---访问成员变量
4.2)this.方法()-----调用方法
4.3)this()----------调用构造方法
9.堆:
1)用于存储new出来的对象
2)成员变量生命周期: 从对象被创建开始,到对象被回收结束
3)垃圾回收器:
3.1)JVM自带的一个线程,用于回收没有引用指向的对象(垃圾对象)
3.2)调用System.gc()建议JVM尽快调度GC来回收垃圾
4)内存泄露:
4.1)不再使用的对象没有被及时的回收
4.2)建议:对象不再使用时应及时将引用设置为null
10.栈:
1)用于存储方法运行时用到的局部变量
2)调用方法时在内存中给该方法分配一个对应的栈桢,栈桢中包含该方法所有的局部变量,当方法执行结束时,对应的栈桢消失,局部变量一并消失
3)局部变量生命周期: 方法被调用时存在,方法调用结束时消失
11.方法区:
1)用于存储字节码(.class)文件和类中的方法
2)方法只有一份,存在方法区中
12.继承:
1)作用:代码的重用
2)所有子类所共有的数据和行为---父类中
子类所特有的数据和行为-------子类中
3)子类继承(extends)父类后,子类具有:
3.1)子类的数据和行为
3.2)父类可见的数据和行为
4)Java是单一继承, 一个类只能继承一个父类, 但一个父类可以有多个子类
5)java规定:
5.1)构造子类之前必须先构造父类
5.2)在子类构造方法中,若自己不写则默认一个super()调父类的无参构造
5.3)若自己写了super调父类构造,则不再调用默认的super()无参构造方法
5.4)通过super
显示全部