JavaOOP基础理论知识

上册:java面相对象语法,理论性为主:

1、对象:就是“东西”,世界万物都是对象;(对象因关注而产生)

2、类:将对象中,具有相同属性和行为的对象集合在一起;(类是用来定义的<>就是个模版,模具;)(抽类)

3、方法:类中对象共有的行为;(比如:人类,都要吃饭,走路)(动作,能做什么)

3.1、方法组成:修饰符,返回值,方法名,参数,方法体;

3.2、抽象方法:无方法体的方法(必须由abstract修饰)(然后,类也必须由abstract修饰)

3.3、构造方法:

3.3.1、写:不再默认调用构造,必须符合签名;

3.3.2、不写:声明类(比如写好的Student类)(调用对象,声明一个对象new Student(),默认调用了构造方法)

4、属性:类中对象共有的属性,本身共有的属性;(比如人类共有姓名、年龄)(名词,固有的)(全局变量)

5、成员变量:对象的属性;

5.1、实例变量:无static修饰:属于对象,一个对象独有一份;(能实例化)

5.2、静态变量:static修饰:属于类,所以对象公用一份 static int a ;(不能实例化)

5.2.1、Student stu1 = new Student(); 如果 a = 3;

Student stu2 = new Student(); stu2中 a也等于3;

Student stu3 = new Student(); 如果stu3.a = 4; 那么以上a 都=4;

建议:用类名来访访问;

6、类名:首字母大写,符合驼峰命名:

7、方法签名:方法名、参数;无参,有参;

8、方法的返回:void无返回(建议写return;);有返回值(可为:8种基本类型和引用类型,必须return;);

9、方法的调用:

10、this:谁调用,指的是谁;

10.1、this.成员变量:访问成员变量

10.2、this.方法():访问方法

10.3、this( ):调用构造方法

11、访问修饰符:

11.1、public:公共的,外部使用者可以任意调用

11.2、private:私有的,本类可用(变量属性一般为private)

11.3、不写:默认,本类可用,同包类可用

11.4、protected:受保护的,本类可用,子类可用,同包类可用

12、构造方法:

12.1、目的:对成员变量进行初始化;

12.2、书写:没有返回类型,与类型相同;

12.3、调用:创建对象的时候自动调用;

12.4、若不写,这默认给一个无参构造;若写了构造,则不给无参构造;

13、方法重载:方法名相同,参数类型不同(包括属性)(发生在编译时java-.class过程)

14、面相对象三大特点:1.封装2.继承3.多态;

15、封装:使用访问修饰符进行封装;

16、继承:减少重复代码,父子类关系

16.1、通过使用extends关键词继承;

16.2、父类中包括子类中所有公有的属性和方法;

16.3、子类中包括父类所以的数据;

16.4、只能继承一个父类,但是能够实现多个接口;

16.5、继承具有传递性质(祖宗十八代关系,直系!);

16.6、子类的构造:先构造

16.6.1、super();不写默认;写:必须写到第一排

16.7、Person stu = new Student();(父类引用指向子类的对象)

16.7.1、stu.只能点出Person类中的属性(成员变量)和方法;

17、方法重写:重写父类的方法;具有继承或者实现关系

17.1、重写父类方法,要求签名相同;同16.7.1、stu.能够点出的是子类的方法;(重写发生在运行时(jvm加载.class并运行的过程),看对象)

18、静态:静态成员变量(静态变量)、静态方法、静态代码块

18.1、静态变量:属于类,所有方法公用;

18.2、静态方法、非静态方法

18.2.1、静态方法:只能直接访问静态变量(一般用在不需要使用实例变量的地方)

18.2.2、非静态方法:可以直接方法静态变量以及实例变量;(隐式this)

18.3、静态代码块(块):一般用于加载静态资源(图片、音频、视频)

18.3.1 使用:static{//程序开始先加载,只加载一次

19、final:最终的;

19.1、常量:static final PI = 3,14 ;可类名点出,值不可变,属于类,所以对象共有一个PI;

20、抽象方法:abstract修饰的方法(无方法体);

20.1、抽象类:拥有抽象方法的类:此类需要用abstract修饰

20.2、抽象类必须被继承;

20.2.1、子类也要写成抽象类

20.3、抽象方法需要在子类中重写;(不重写报错)

21、接口:就是一个标准,一个规范(比如USB接口,这个就是一个标准,都做成这样)

21.1、定义:由interface定义(类由class定义)

21.2、接口:就是一个特殊的抽象方法

21.3、组成:常量和抽象方法(不能实例化)

21.4、使用:接口被实现(implements)(继承是extends),一个类可实现多个接口,用“,”分割;

21.5、接口中方法需要重写

21.6、继承和实现,先继承再实现

22、多态:向上造型

22.1、意义:父类的引用可以指向子类的对象;虚方法调用;(认知跟多的类型)

Person person = new Student();

22.2、强制转型:Student student = new Student();

student = (Student)person;//有实现或者继承关系,一般添加异常处理

22.3、判断是否有继承或者实现关系:instanceof;

22.4、异常处理,try.....catch

23、内部类:定义在类的内部(当某个类只被一个类内部使用,可定义内部类,对外是不可见的)

23.1、内部类:Inner,外部类:Outer;Inner可直接调用Outer方法和成员(包括private)

23.2、匿名内部类:只需创建一个对象,之后就没有意义了..........

24、内存管理:JVM管理

24.1、垃圾回收:JVM自带,回收没有任何没有引用指向的对象;

24.1.1、null标记:建议引用不用之后设置为null,以便被GC回收;

24.1.2、可使用System.gc();提醒赶紧回收(具体回收时间不能确定,无法控制)

24.1、内存:堆、栈、方法

24.1.1、堆:保存new出来的对象,包括成员变量

24.1.2、栈:保存所有局部变量

24.1.3、方法区:装的是.class;类的各种信息(包括方法)保存在方法区中;

24.2、内存泄漏:不在使用的对象,未被及时回收,太多之后会出现内存泄漏:

24.2.1、建议:对象不被使用之后及时标记为null;

25、包:文件夹:用来装类的

25.1、公司:com.公司名.工程名(前三层不变).bean(放类)/test(放测试方法)

25.2组织:org.

25.3导包:编译后,类的全称是带了包名的(省略后必须导包);

时间: 2024-11-03 22:46:33

JavaOOP基础理论知识的相关文章

java基础理论知识的一些总结

在学习Java初期,由于我们是刚开始接触Java,我们不仅需要牢牢掌握Java的基础理论知识,来为我们后面对Java更深层次的学习打好基础,而且我们需要养成编程人的思想习惯.来我们一起来探索Java基础知识和需要的行为习惯: 一.编写代码的思想习惯:  1.明确需求.我要做什么? 2.分析思路.我要怎么做?1,2,3. 3.确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4.代码实现.用具体的java语言代码把思路体现出来.  二.学习新语句新知识的四点: 1.该语句是什么? 2.该语句有

docker基础理论知识

Docker实现的两个基本理论知识 一.NameSpace:内核的实现技术,隔离机制. ●PID NameSpace:(隔离pid)每一个用户空间都有一个唯一的PID号,彼此之间不会干扰.从Linux2.6.24内核版本开始引入的,是一种最新的技术. ●Network NameSpace:真正起源于Linux2.6.29,实现与网络用户隔离的.(网络设备.网络线.端口资源隔离) ●User NameSpace:实现用户和用户组资源隔离的.Linux3.8 ●IPC NameSpace: 进程间通

计算机基础理论知识[转]

计算机基础 链接地址:http://www.cnblogs.com/rcy2012/p/6003981.html eh,怎么说,初赛烂成一团shit了,还不好好复习复习.. 1. 计算机发展史中计算机诞生时间的三个第一 世界上发明的第一台电子计算机 ENIA C 1946.2 美国 世界上第一台按存储程序控制功能设计的计算机 EDVA C 1946 1950 美国 世界上第一台投入运行的实现存储顺序控制功能的计算机 EDSA C 1947 1949.5 英国 2. 计算机发展的四个阶段和计算机时

消息中间件MQ基础理论知识

欢迎转载,转载请注明出处:http://www.cnblogs.com/lidabnu/p/5723280.html 消息中间件已经流行很长时间,一般情况下,不需要自己来从头研发.设计消息中间件,所以基础知识的目的是了解消息中间件解决什么问题.如何评估衡量消息中间件,以及掌握基本的相关术语. 专业术语 消息:一种需要跨系统传递的数据结构 生产者:产生消息的系统 消费者:消费消息的系统 Broker:消息中转角色,负责消息的存储和转发,JMS规范中叫做Provider 应用场景 总结了一下,消息中

菜鸟学Linux 第001天笔记 基础理论知识

主要学习的知识:   RHCE          RH033          RH133          RH253  RHCA:       RH401       RH423(LDAP)学习不多       RH442       RH436(集群)       RHS333MySQL 应用行业:    运维工程师.系统工程师.系统架构师.DBA 所有后期实验都是在VMware里操作,必须学会使用此虚拟机. 计算机体系结构和如何运作:    运算器    控制器    存储器    输入

软件测试基础理论知识总汇(一)

1.测试基础 2.软件测试对象和测试级别 3.系统测试类型 测试级别(也称测试类型)中,系统测试是应用最多的测试类型,系统测试类型可以细分出很多类型,以下列举核心的系统测试类型. 4.软件测试方法(系统测试方法)

S-Docker_01_基础理论知识

1.docker 类似虚拟机,不是虚拟机 2.docker 是一种系统虚拟化技术,基于LXC(Linux容器)等技术,docker进行了近一步的封装,就像使用一个虚拟机一样:比虚拟机更加轻量 2.1 docker的优点: 2.1.1快速的部署交付 2.1.2更高效率的虚拟化 2.1.3迁移和扩展(高兼容性) 2.1.4简单管理 3.容器组成: 3.1.nemaspea : 访问隔离 实现了容器间的直接隔离 3.2.cgroup  :资源控制 负责容器的资源限制和审计:(cpu,内存,IO,网络带

OpenText Cordys BOP 4平台开发入门实战演练——基础理论知识

前言 随着互联网技术的发展,基于B/S结构的软件架构,呈现出多样化,所涉及到的富客户端.Webservice.WEB 2.0.HTML5等技术也粉墨登场,本文将介绍基于OpenText Cordys产品的SOA体系架构和相关开发技术,为开发人员分享另一种软件系统开发实践. 其中,富客户模型将界面分解成许多的既可以和用户直接交互又可以和服务器进行通信的小单元模块,所涉及到开发语言是JavaScript,以及围绕HTML DOM开发动态网页. 关于SOA SOA是面向服务的体系结构,它将应用程序的不

计算机基础理论知识梳理篇(一)

字长与数据类型长度 字长指CPU在同一时间能够处理二进制数据的位数,是由其外接数据总线(地址总线决定了CPU的寻址空间,如16位微型机的地址总线为20位,其可寻址空间为220 = 1MB)的条数决定的.早期的微机字长一般是8位或16位,目前市面上的计算机的处理器大部分已达到64位.但大多数计算机均支持变字长运算,即机内可实现半字长.全字长(或单字长).双倍字长运算.ANSI C/C++ 定义了基本数据类型长度,而操作系统字长可能与物理机器实际字长不一致,编译器是根据操作系统字长和ANSI C/C