java面向对象总结

类与对象:

类:具有相同特征的一类事物的抽象

对象:类的具体实例

类(对象)之间的关系:

关联关系:一个类的实例是另一个类中方法的参数

继承关系(一般与特殊):XX是一种XX,一个类派生出来另一个类

聚合关系(整体与部分):

实现关系:

多态:

面向对象思想

1有哪些类与对象

2类与对象有哪些属性与方法

3类与类的关系

成员变量:定义后可以初始化,若不初始化,系统自动初始化为默认值。(局部变量必须初始化后才能使用)

内存分为4部分,分别为代码区,栈(存放对象引用,局部变量),堆(存放对象,成员变量),数据段(存放静态变量及字符串常量)

基础数据类型定义的变量占一块内存(该内存空间存变量值),引用数据类型定义的变量占两块内存。

Dog d1,d2;       //栈中分配一块内存a1,a2

d1=new Dog();  //堆中分配一块内存b,a1指向b

d2=new Dog(m,n); //堆中分配一块内存c,a2指向c,c中存放成员变量

//栈中分配两块内存j,k存放构造函数的参数值m,n,将j,k赋值给c中成员变量,

  //释放栈中内存j,k

a1与a2中存放的不是物理地址,但根据存放的内容可以找到物理地址

返回值在栈中有临时的存储空间,返回完后就消失。

 

this关键词:指表示向当前对象的引用,存在于堆内存中的对象里,指向对象本身。this.成员方法/成员变量.

                  调用本类另外构造方法.this(被调用的构造方法参数)

 

static关键字:修饰变量时表示静态成员变量,属于类的公有变量,类的所有对象共享这一个变量

                  修饰方法时表示静态方法,在静态方法中不能直接访问非静态变量,非静态方法,可以通过创建对象调用。

 

super关键字:在子类中通过super引用父类对象。 super.父类成员方法/父类成员变量

                 在子类中调用父类构造方法。super(父类构造方法的参数)。(必须写在子类构造方法第一行)

 

子类的构造方法中必须调用父类构造方法,若没有显式调用父类构造方法,则默认调用父类无参构造方法。若父类中无无参构造方法,则编译出错

 

Object类:

Object类是所有类父类,若定义的一个类未说明继承哪个类,就默认继承Object类

finalize():当虚拟机回收垃圾前调用的方法。

getClass():返回已编译好的class对象。

hashCode():返回对象的哈希码(哈希码独一无二的代表了一个对象,可以通过哈希码找到该对象在内存的位置)

toString():进行String类型与其他类型数据连接时.(如System.out.println("Dog:"+d);),将自动调用toString()方法把其他类型转换为String类型 。           

            Object类的toString() 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。

              一般要在子类中重写这个方法

equals(Object obj):在Object类中,若两个对象的引用指向同一个对象,则返回true,否则返回false。

                           在String,Date等类中,若两个对象的引用指向同一个类的对象且属性相等时返回true,否则返回false

                          继承Object类后,一般要重写此方法。

“==”:用此运算符比较两个对象的引用,实际上是比较对象引用中存储的对象地址是否相同。

 

向上转型:子类对象转换为父类对象

向下转型:父类对象转换为子类对象

父类引用指向子类对象时,父类引用只能访问父类成员变量及成员方法。若子类重写了父类中的成员方法,则调用子类中已被重写过的成员方法。

 

abstract关键字:修饰类时表示抽象类,不能被实例化,必须被继承。

                       修饰方法时表示抽象方法,含有抽象方法的类必须被声明为抽象类。抽象方法只需要声明,不需要实现。但在继承的子类中必须被重写,或者子类继续声明为抽象类。

                     

final关键字:修饰的变量的值不能改变

                 修饰的方法不能被重写

                  修饰的类不能被重写

 

interface关键字(接口):是一种特殊的抽象类。接口中的所有方法不需实现,并默认为public abstract 类型。接口中的变量默认为public static final类型。

一个类可以实现多个接口,接口也可以继承其它接口。

父类接口指向子类实现,父类接口只能访问父类成员变量及子类已实现的父类成员方法。

java面向对象总结

时间: 2024-11-01 23:50:58

java面向对象总结的相关文章

2062326 齐力锋 实验四《Java面向对象程序设计Android开发》实验报告

北京电子科技学院(BESTI) 实 验 报 告 课程: 程序设计与数据结构  班级: 1623  姓名: 齐力锋 学号: 20162326 成绩: 指导教师: 娄嘉鹏/王志强 实验日期: 2017年5月26日 实验密级:非密级 预习程度: 优良 实验时间: 2 Hours 仪器组次: 必修/选修: 必修 实验序号: 04 实验名称:Java面向对象程序设计Android开发 实验内容 1.Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBI

java面向对象的核心思想

Java面向对象-抽象类与接口 1.Java final关键字的使用 package edu.tongji.fni; /*final关键字 * 1.final关键字在java中被称为完结器,表示最终的意思 * 2.final能声明类.方法.属性: * 使用final声明的类不能被继承 * 使用final声明的方法不能被重写 * 使用final声明的变量变成常量,常量是不可以被修改的 */ class People{ //前面加了final下面的类会报错 public void tell(){ }

JavaSE入门学习21:Java面向对象之接口(interface)(二)

一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.java源文件代码: public class Test{ public static void main(String[] args){ //实现接口Singer Singer s1 = new Student("Amy"); s1.sing(); s1.sleep(); s1.study

第5篇-JAVA面向对象Ⅰ

第5篇-JAVA面向对象Ⅰ 每篇一句 :面向对象面向君,不负代码不负卿 初学心得: 代码虐我千百遍,我待代码如初恋 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-03| JAVA面向对象 Ⅰ] 1.JAVA作为一种面向对象语言,具有以下基本概念: ● 多态 ● 继承 ● 封装 ● 抽象 ● 类 ● 对象 ● 实例 ● 方法 ● 重载 2.面向对象 什么是面向对象?: 面向对象是一种编程思想 通俗的说:面向对象是一种思考问题的思维方式 为什么使用面向对象以及它的作用 计算机语

《Java面向对象编程第二版》今年出版以来获得读者一致好评。

<Java面向对象编程第一版>自2016年出版以来,承蒙读者们的厚爱,至今已经重印了二十多次,成为国内Java领域里的经典Java技术宝典.在当当网上获得了1500多条好评: http://product.dangdang.com/9186890.html?point=comment_point 应广大读者的要求,为第一版进行了升级,第二版融合了最新的Java8的语言特性,它继续为Java开发人员们提供丰富全面的技术支持和帮助.在京东网上读者们对第二版的好评如潮,一致认为这是Java开发人员必

java面向对象 泛型

这个第一篇知识梳理的博客,希望我可以坚持下去将知识进行总结. 这是在极客学院里看到的视频,目录如下,蛮清晰的.然后我将视频中所说再记忆下. java面向对象之泛型:认识泛型 Java SE 1.5的新特性,泛型的本质是参数化类型,可以代表任何数据类型. java面向对象之泛型:构造函数中使用 class Gen<T>{ private T value; Gen(T value){//构造函数中就泛型就不需要用尖括号了 this.value=value; } public void setVal

JavaSE入门学习24:Java面向对象补充

一Java中的Object类 Object类是所有Java类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认 继承Object类. public class Person{ // } //等价于 public class Person extends Object{ // } Object类中的方法,适合所有子类. 1)toString()方法 在Object类中定义有public String toString()方法,其返回值是String类型,描述当前对

Java程序设计 实验二 Java面向对象程序设计

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏      实验日期:2015.5.7 实验密级:         预习程度:         实验时间: 仪器组次:          必修/选修:            实验序号: 实验名称:       Java面向对象程序设计 实验目的与要求:实验内容 1. 初步掌握单元测试和TDD 2.

java面向对象编程(七)--四大特征之多态

1.多态概念 多态性是对象多种表现形式的体现.比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫.小狗.蜥蜴等等.那么我到宠物店说"请给我一只宠物",服务员给我小猫.小狗或者蜥蜴都可以,我们就说"宠物"这个对象就具备多态性. java中的多态,就是指一个引用(类型)在不同情况下的多种状态.也可以理解成,多态是指通过指向父类的指针,来调用在不同子类中实现的方法.也可以理解为"一个接口,多个方法". 实现多态有两种

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气