十五、面向对象总结

1.面向对象的思想
与面向过程对比,看待问题的方式不同,面向过程--亲力亲为,面向对象--委托给别人
核心内容:类和对象

2.类和对象
类:具有特殊功能的实体的集合
对象:类中一个实实在在存在的个体
二者之间的关系:类是多个对象的抽取,对象是类的具体的存在

类的定义:class

类中成员变量和成员方法的定义
成员变量:全局变量,属性
局部变量:
成员变量和局部变量之间的区别:定义的位置,作用域,初始值,生命周期

静态成员变量和非静态成员变量:
静态方法和非静态方法:
规律:在同一个类中,在静态方法中只能访问静态成员变量和调用静态方法
在非静态方法中,访问静态成员变量和非静态成员变量,调用静态方法和非静态方法

对象的创建;new
引用变量:栈空间中
实际的对象:堆空间中

规律:跨类访问成员变量或者调用方法,
静态:类名. 对象.【不同的对象访问的是同一块的内存空间】
非静态:对象.

方法重载
重载规则:在同一个类中,方法名相同,参数不同【数量不同,类型不同】

构造方法
注意事项:
a.构造方法没有返回值
b.构造方法的方法名字其实就是类名
c.构造方法是在创建对象的过程中自动被调用,不能手动调用

构造方法的重载
a.系统会默认提供一个无参的构造方法
b.如果手动添加了有参的构造方法,系统将不再提供无参的构造方法

3.封装
私有化:private
好处:提高了数据的可复用性和安全性

get/set方法:间接访问

面试题:get、set方法不能使用static修饰的原因:二者主要针对成员变量进行获取值和赋值,如果成员变量是非静态的,则在静态方法中不能被访问

this
this:对当前对象的引用
this.属性:有参的构造方法,set方法
this.方法:可以省略的
this(参数):只能出现在当前类在当前类的构造方法中,表示调用其他的构造方法

static
静态代码块和构造代码块主要用于给成员变量赋值

执行顺序:静态代码块>main函数>构造代码块>构造方法

单例设计模式:懒汉式 饿汉式

4.继承
优点:提高了代码的可读性,提高代码的可复用性

使用继承:extends
特点:
a.子类可以继承父类中的【在访问权限内的】成员变量和方法
b.子类对象可以直接访问或者调用父类中的成员变量和方法
c.一个父类可以有多个子类,一个子类只能有一个父类【单继承】
d.构造方法不能被继承

super:肯定与父类有关
super.属性
super.方法
super(参数)

和this基本相同

访问权限修饰符
权限大小:主要为了重写
default:包权限

方法重写:
重写规则:
a.方法名相同
b.参数相同
c.返回值类型:相同,是父类返回值类型的子类
d.访问权限修饰符:大于等于

final
类:不能被继承
方法:不能被重写,但是可以重载,可以被调用
变量:这个变量是一个常量
成员变量:被final修饰,将不再提供初始值

基本数据类型和引用数据类型:只针对的是引用变量

Object类:Java中所有类的父类
hashCode()
equals()

抽象类 abstract

抽象类的特点:
抽象方法的特点:
抽象方法和普通方法之间的区别:

接口
接口的特点:
接口和抽象类的区别:

5.多态
体现形式:
父类的引用指向子类的对象
接口的引用指向实现类的对象

对象的向上转型:多态的体现
对象的向下转型:强制类型转换,instanceof

工厂设计模式:多态的应用

6.内部类
成员内部类和匿名内部类【掌握】

时间: 2024-10-20 19:07:41

十五、面向对象总结的相关文章

二十五.面向对象(经典类和新式类)

经典类和新式类 class A(object): pass class B(A): pass class C(B): pass class D(object): pass class E(D,C): pass class F(object): pass class G(F): pass class H(C,G): pass class Foo(E,H): pass # a1=Foo() print(Foo.__mro__) # (<class '__main__.Foo'>, <clas

张季跃 201771010139《面向对象程序设计(java)》第十五周学习总结

张季跃 201771010139<面向对象程序设计(java)>第十五周学习总结 第一部分:理论知识学习部分 第13章 部署应用程序: JAR文件: Java程序的打包:程序编译完成后,程序员 将.class文件压缩打包为.jar文件后,GUI界面 程序就可以直接双击图标运行. .jar文件(Java归档)既可以包含类文件,也可 以包含诸如图像和声音这些其它类型的文件. JAR文件是压缩的,它使用ZIP压缩格式. 清单文件 (1) 每个JAR文件中包含一个用于描述归档特征的清单文 件(mani

201771010125王瑜《面向对象程序设计(Java)》第十五周学习总结

201771010125王瑜<面向对象程序设计(Java)>第十五周学习总结 一.理论部分 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar文件后,GUI界面程序就可以直接双击图标运行. 2..jar文件(Java归档)既可以包含类文件,也可以包含诸如图像和声音这些其它类型的文件.JAR文件是压缩的,它使用ZIP压缩格式. 3.jar命令格式: jar {ctxui} [vfm0Me] [jar-file] [manifest-file] [entry-poi

王艳 《面向对象程序设计》第十五周学习总结

实验十五  GUI编程练习与应用程序部署 一:理论部分. 1.Java 程序的打包:编译完成后,程序员将.class 文件压缩打包为 .jar 文件后,GUI 界面序就可以直接双击图标运行.JAR 文件是压缩的,它使用 ZIP 压缩格式. 创建一个包含清单的 JAR 文件,应该运行:jar cf mMyArchive.jar manifest.mf com/ *.class2.资源:Java 中,应用程序使的类通常需要一些相关数中,应用程序使的类通常需要一些相关数 据文件,这些称为资源 (Res

马凯军201771010116《面向对象与程序设计Java》第十五周学习知识总结

实验十五  GUI编程练习与应用程序部署 一.知识学习部分 清单文件 每个JAR文件中包含一个用于描述归档特征的清单文件(manifest).清单文件被命名为MANIFEST.MF,它位于JAR文件的一个特殊的META-INF子目录中. 最小的符合标准的清单文件是很简单的:Manifest-Version:1.0复杂的清单文件包含多个条目,这些条目被分成多个节.第一节被称为主节,作用于整个JAR文件.随后的条目用来指定已命名条目的属性,可以是文件.包或者URL. 清单文件的节与节之间用空行分开,

刘志梅201771010115.《面向对象程序设计(java)》第十五周学习总结

实验十五  GUI编程练习与应用程序部署 实验时间 2018-12-6 1.实验目的与要求 (1)一个JAR文件既可以包含类文件,也可以包含诸如图像和声音这些其他类型的文件. 创建一个新的JAR文件应该使用的常见命令格式:jar cvf JARFileName File1 File2..... 除类文件.图像和其它资源外,每个JAR文件包含一个用于描述归档特征的清单文件,清单文件被命名为MANIFEST.MF. 复杂的清单文件可能包含更多条目,这些清单条目被分成多个节:第一个节被称为主节,作用于

孔维滢 20171010110《面向对象程序设计(java)》第十五周学习总结

实验十五  GUI编程练习与应用程序部署 1.实验目的与要求 (1) 掌握Java应用程序的打包操作: (2) 了解应用程序存储配置信息的两种方法: (3) 掌握基于JNLP协议的java Web Start应用程序的发布方法: (5) 掌握Java GUI 编程技术. 2.实验内容和步骤 实验1: 测试程序1 package resource; import java.awt.*; import java.io.*; import java.net.*; import java.util.*;

第十篇 面向对象的程序设计

第十篇 面向对象的程序设计 阅读目录 一 面向对象的程序设计的由来 二 什么是面向对象的程序设计及为什么要有它 三 类和对象 3.1 什么是对象,什么是类 3.2 类相关知识 3.3 对象相关知识 3.4 对象之间的交互 3.5 类名称空间与对象/实例名称空间 3.6 小结 四 继承与派生 4.1 什么是继承 4.2 继承与抽象(先抽象再继承) 4.3 继承与重用性 4.4 组合与重用性 4.5 接口与归一化设计 4.6 抽象类 4.7 继承实现的原理(继承顺序) 4.8 子类中调用父类方法 五

Java进阶(三十五)java int与integer的区别

Java进阶(三十五)java int与integer的区别 前言 int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象. 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类):因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null. 2.初始化时: int i =1; Integer i= new In

设计模式(十五):Iterator迭代器模式 -- 行为型模式

1.概述 类中的面向对象编程封装应用逻辑.类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态.单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合. 集合不一定是均一的.图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu.Slider 和 Button.并且,集合的实现可以有多种方式:PHP 数字是一个集合,但也是一个散列表,一个链接列表,一个堆栈以及队列. 例子1:电视遥控器的频道遍历 2.问题 如何操纵任意的对象集合? 如一个列表(Lis