第二小节之面向对象上

在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象

面向对象的特点主要可以概括为封装性、继承性和多态性。

  封装性:将对象的属性和行为封装起来,不需要让外界知道具体实现细节(在定义一个类时,将类中的属性私有化,即使用private关键字来修饰)

  继承性:类与类之间的关系,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展

  多态性:在程序中允许出现重名现象,它指在一个类中定义的属性的方法被其他类继承后,它们可以有不同的数据或表现出不同的行为

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体,类是对象的抽象,它用于描述一组对象的共同特征和行为

在java中,null是一种特殊的常量,当一个变量的值为null时,则表示该变量不指向任何一个对象

构造方法:是类的一个特殊成员,她会在类的实例化时被自动调用

  1、构造方法与类名相同

  2、在方法名的前面没有返回值类型的声明(不能有void)

  3、在方法中不能使用return语句返回一个值

注释:在一个类中可以定义多个构造方法

在java中的每个类都至少有一个构造方法,如果在一个类中没有定义构造方法,系统会自动为这个类定义一个默认的构造方法,这个默认的构造方法没有参数,在其方法体中没有任何代码,即什么也不做。一旦为该类定义了构造方法,系统就不再提供默认的构造方法。

this代表其所在函数所属对象的引用(代表对象的引用)

this()构造方法:只能在构造方法中使用this调用其它的构造方法,不能再成员方法中使用。调用其它的构造方法,必须放在构造器中的第一句。不能在一个类的两个构造方法中使用this互相调用。

垃圾回收:java虚拟机会自动回收垃圾对象所占用的内存空间,调用System.gc()方法。当一个对象在内存中被释放时,它的finalize()方法会被自动调用。

static关键字:某些数据在内存中只有一份,而且能够被一个类的所有实例对象所共享,只能用于修饰成员变量,不能修饰局部变量,在一个静态方法中只能访问用static修饰的成员

内部类:内部类可以在外部类中被使用,并能访问外部类的成员 ,如果内部类被声明为私有,外界将无法访问。

内部类的创建: 外部类名.内部类名 变量名=new 外部类名().new 内部类名();

1、在静态内部类中只能访问外部类的静态成员 2、在静态内部类中可以定义静态的成员,而在非静态的内部类中不允许定义静态的成员

原文地址:https://www.cnblogs.com/0405mxh/p/10124353.html

时间: 2024-10-16 22:54:52

第二小节之面向对象上的相关文章

第二小节之面向对象下

继承:描述书屋之间的所属关系,在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有的类被称作父类,子类继承了父类的特征(所有可继承的属性和方法) 派生:父类派生出了子类 子类是父类的特类,子类是父类型.一个子类对象可以看作一个父类. 在java中类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类,多个类可以继承一个父类,可以多层继承,子类和父类是一种相对概念 在调用子类中无参的构造方法,它会调用父类的无参的构造方法 重写父类方法: 在子类中重写的方法需要和父类被重写

第二章 【面向对象设计原则】

(一)如何衡量软件设计的质量 内聚度: 表示一个应用程序的单个单元所负责的任务数量和多样性.内聚与单个类或者单个方法单元相关.(好的软件设计应该做到高内聚.) 耦合度: 耦合度表示类之间关系的紧密程度.低耦合是指尽量使用抽象耦合,少用具体耦合. 设计原则名称 设计原则简介 重要性 单一职责原则 的职责要单一,不能将太多的职责放在一个类中. ★★★★☆ 开闭原则 软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能.  ★★★★★ 历史替换原则 在软件系统中,一个可

第04章(面向对象——上)

1 /***************** 2 ***第四章面向对象(上) 3 *******知识点: 4 **************1.类和对象 5 ******************1.1 关键字 6 ******************1.2 定义 7 ******************1.3 使用 8 **************2.方法和属性 9 ******************2.1 关键字 10 ******************2.2 方法重载和重写 11 ******

【深度探索C++对象模型】第二章 构造函数语意学(上)

第二章 构造函数语意学(The Semantics of Constructors) -- 本书作者:Stanley B.Lippman 一.前言 首先让我们来梳理一个概念: 默认构造函数(Default Constructor) : 是在没有显示提供初始化式时调用的构造函数.它由不带任何参数的构造函数,或是为所有形参提供默认实参的构造函数定义.如果定义的某个类的成员变量没有提供显示的初始化式时,就会调用默认构造函数(Default Contructor). 如果用户的类里面,没有显示的定义任何

陶哲轩 实分析 第二章第二小节 习题解答

陶哲轩 实分析 第二小节 习题 最近从网上下载到了陶哲轩写的实分析,确实是本好书.不过所有的习题都没有给出答案.我试着自己做一遍习题,整理一份习题解答. 2.2.1 证明自然数加法是结合的 (a + b) + c = a + (b + c) 数学归纳法 a=0 时, 左边: (0+b)+c=b+c 右边: 0+(b+c)=b+c 左边 = 右边 假设当 a=n 时,(n+b)+c=n+(b+c) 成立 则,当 a=n++ 时 ((n++)+b)+c=((n+b)++)+c=((n+b)+c)++

java之面向对象---上

1:值类型 八大类型:整性—>byte(1字节),short(2字节),int(4字节),long(8字节): 浮点数—>float(4字节)--8位整,23位小数,1位符号:double(8字节)--11位整数,52位小数,1位符号 字符—>char(2字节)---汉语的原因吧 逻辑型—>bool(1bit) 其它数据类型:类类型. 存储方式:8大类型变量存储于栈中:是值类型 类类型变量,是引用类型,对象存放于堆中,在栈中存引用值,大小固定为4字节. 只能通过new来构造对象,不

辛星让mysql跑得更快第二节之索引上部分

如果把我们的数据库信息当做一本书或者一个字典,那么索引可以理解为它的目录,如果我们创建一个优秀的目录,那么我们检索信息就会快得多,如果我们创建一个渣渣索引,也有可能拖垮整个系统. 索引我们分为四类,通常分为四大类型,即主键索引.全文索引.唯一索引.普通索引,这是按照索引的类型来分的.所谓主键索引,那就是当我们创建一张表的时候,如果我们指定了一个主键,那么它就自动成为主键索引,比如SQL语句如下(这里的id就自动成为了主键索引): create table xin(id int unsigned

Java和C#在面向对象上语法的区别

做了几年了开发一直没有总结什么,回到了家乡的小城做了一名培训班的教员,教授软件开发的知识.细小的知识从头细细嚼来,别有一番滋味.或是以前遗漏的太多,或是确实没有系统的学习过,教学生的过程中自己也对教材有了一遍系统深入的学习.虽然教的和学的都很肤浅,但是为了帮助学生们理解,然后自己也会思考为什么会这样?这种来自于最基础的思考,一直向上反馈,发现这种思考原来可以令自己进步的非常快.虽然目前还在思考入门阶段的问题,已经受益良多了.那么如果把之前的开发中的问题都思考一遍,又能收获多少能?写写博客吧,一直

Java编程基础-面向对象(上)

一.面向对象的概念 1.概念:面向对象是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.当然,一个应用程序会包含多个对象,通过多个对象的相互配合来实现应用程序的功能.这样当应用程序功能发生变动时,只需要修改个别对象就可以了,从而使代码更容易得到维护.面向对象强调的是对象,它使复杂的内容简单化了,让我们从执行者变成了指挥者. 2.特点:面向对象的特点概括起来就是继承性.封装性和多态性. 3. 封装性:封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界