java面向对象知识点总结

合集下载

Java基础知识总结(超详细整理)

Java基础知识总结(超详细整理)

Java基础知识总结(超详细整理)

Java语⾔的特点

1.⾯向对象

⾯向对象(OOP)就是Java语⾔的基础,也是Java语⾔的重要特性。⾯向对象的概念:⽣活中的⼀切事物都可以被称之为对象,⽣活中随处可见的事物就是⼀个对象,我们可以将这些事物的状态特征(属性)以及⾏为特征(⽅法)提取并出来,并以固定的形式表⽰。

2.简单好⽤

Java语⾔是由C和C++演变⽽来的,它省略了C语⾔中所有的难以理解、容易混淆的特性(⽐如指针),变得更加严谨、简洁、易使⽤。

3.健壮性

Java的安全检查机制,将许多程序中的错误扼杀在摇蓝之中。 另外,在Java语⾔中还具备了许多保证程序稳定、健壮的特性(强类型机制、异常处理、垃圾的⾃动收集等),有效地减少了错误,使得Java应⽤程序更加健壮。

4.安全性

Java通常被⽤在⽹络环境中,为此,Java提供了⼀个安全机制以防恶意代码的攻击,从⽽可以提⾼系统的安全性。

5.平台⽆关性

Java平台⽆关性由Java 虚拟机实现,Java软件可以不受计算机硬件和操作系统的约束⽽在任意计算机环境下正常运⾏。

6.⽀持多线程

在C++ 语⾔没有内置的多线程机制,因此必须调⽤操作系统的多线程功能来进⾏多线程程序设计,⽽ Java 语⾔却提供了多线程⽀持。多线程机制使应⽤程序在同⼀时间并⾏执⾏多项任务,该机制使得程序能够具有更好的交互性、实时性。

7.分布式(⽀持⽹络编程)

Java语⾔具有强⼤的、易于使⽤的⽹络能⼒,⾮常适合开发分布式计算的程序。java中提供了⽹络应⽤编程接⼝(),使得我们可以通过URL、Socket等远程访问对象。

Java面向对象基础知识复习复习进程

Java面向对象基础知识复习复习进程

复习

1保留字

goto

2.标识符

数字、字母、下划线、$组成,不能以数字开头,不能使用关键字或保留字,不能包含空格,不能包含除$以外的符号,不能包含中文

起名规范:包名:所有字母小写:aaabbbccc

类名/接口名:所有单词首字母大写:AaaBbbCcc

变量名/函数名:第一个字母全小写,后面单词首字母大写:aaaBbbCcc

常量名:所有字母大写,单词之间用下划线连接:AAA_BBB_CCC

3.基本数据类型、字节数、大小、包装类

byte 1字节2^7-1 Byte

short 2字节2^15-1 Short

int 4字节2^31-1 Integer

long 8字节2^63-1 Long

float 4字节2^31-1 Float

double 8字节2^63-1 Double

char 2字节2^15-1 Character

boolean 1位Boolean

4.a++、++a

b=a++:temp=a,a=a+1,b=temp

b=++a:a=a+1,b=a

5.&和&&的区别

&:无论左侧结果是什么,两侧都需要进行运算

&&:当左侧为false时,右侧不参与运算

6.最有效的方式计算2乘以8

2<<3

7.if和switch的区别

if后面是条件表达式,返回的是boolean类型,switch后面是byte/short/int/char类型的表达式

8.能被switch的数据类型有哪些

boolean、short、int、char(jdk1.7之后增加了String)

9.for循环执行顺序

for(初始化表达式1;循环条件表达式2;循环后操作表达式3){

java面向对象总结(一)

java面向对象总结(一)

java⾯向对象总结(⼀)

1. 对象的概念及⾯向对象的三个基本特征

⾯向对象的三⼤核⼼特性

⾯向对象开发模式更有利于⼈们开拓思维,在具体的开发过程中便于程序的划分,⽅便程序员分⼯合作,提⾼开发效率。⾯向对象程序设计有以下优点。

1. 可重⽤性:它是⾯向对象软件开发的核⼼思路,提⾼了开发效率。⾯向对象程序设计的抽象、继承、封装和多态四⼤特点都围绕这个

核⼼。

2. 可扩展性:它使⾯向对象设计脱离了基于模块的设计,便于软件的修改。

3. 可管理性:能够将功能与数据结合,⽅便管理。

该开发模式之所以使程序设计更加完善和强⼤,主要是因为⾯向对象具有继承、封装和多态 3 个核⼼特性。

继承性

如同⽣活中的⼦⼥继承⽗母拥有的所有财产,程序中的继承性是指⼦类拥有⽗类数据结构的⽅法和机制,这是类之间的⼀种关系;继承只能是单继承。

例如定义⼀个语⽂⽼师类和数学⽼师类,如果不采⽤继承⽅式,那么两个类中需要定义的属性和⽅法.

语⽂⽼师类和数学⽼师类中的许多属性和⽅法相同,这些相同的属性和⽅法可以提取出来放在⼀个⽗类中,这个⽗类⽤于被语⽂⽼师类和数学⽼师类继承。当然⽗类还可以继承别的类,

学校主要⼈员是⼀个⼤的类别,⽼师和学⽣是学校主要⼈员的两个⼦类,⽽⽼师⼜可以分为语⽂⽼师和数学⽼师两个⼦类,学⽣也可以分为班长和组长两个⼦类。

使⽤这种层次形的分类⽅式,是为了将多个类的通⽤属性和⽅法提取出来,放在它们的⽗类中,然后只需要在⼦类中各⾃定义⾃⼰独有的属性和⽅法,并以继承的形式在⽗类中获取它们的通⽤属性和⽅法即可。

封装性

封装是将代码及其处理的数据绑定在⼀起的⼀种编程机制,该机制保证了程序和数据都不受外部⼲扰且不被误⽤。封装的⽬的在于保护信息,使⽤它的主要优点如下。

面向对象知识点总结

面向对象知识点总结

⾯向对象知识点总结

1、⾯向对象三⼤特征

封装:封装就是隐藏对象的属性和实现细节,仅对外公开接⼝,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和⾏为(或功能)相结合,形成⼀个有机的整体。

继承:继承就是⼦类继承⽗类的特征和⾏为,使得⼦类对象(实例)具有⽗类的实例域和⽅法,或⼦类从⽗类继承⽅法,使得⼦类具有⽗类相同的⾏为。

多态:多态指同⼀个⾏为具有多个不同表现形式或形态的能⼒,是指⼀个类实例(对象)的相同⽅法在不同情形有不同表现形式,使具有不同内部结构的对象可以共享相同的外部接⼝。

2、类与对象

对象:对象是类的⼀个实例,有状态和⾏为。

类:类是⼀个模板,它描述⼀类对象的⾏为和状态。⼀个类可以包含以下类型变量:(1)局部变量:在⽅法、构造⽅法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在⽅法中,⽅法结束后,变量就会⾃动销毁。(2)成员变量:成员变量是定义在类中,⽅法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中⽅法、构造⽅法和特定类的语句块访问。(3)类变量:类变量也声明在类中,⽅法体之外,但必须声明为 static 类型。

3、构造⽅法

每个类都有构造⽅法。如果没有显式地为类定义构造⽅法,Java 编译器将会为该类提供⼀个默认构造⽅法。在创建⼀个对象的时候,⾄少要调⽤⼀个构造⽅法。构造⽅法的名称必须与类同名,⼀个类可以有多个构造⽅法。

4、封装

封装是指⼀种将抽象性函式接⼝的实现细节部分包装、隐藏起来的⽅法。封装可以被认为是⼀个保护屏障,防⽌该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接⼝控制。修改属性的可见性来限制对属性的访问(⼀般限制为private),可通过getter和setter⽅法访问和操作类中私有成员变量。如下代码:

java面向对象程序设计知识点总结

java面向对象程序设计知识点总结

java面向对象程序设计知识点总结

以下是 Java 面向对象程序设计的一些重要知识点总结:

1. 类和对象:类是对象的抽象,对象是类的实例。在 Java 中,通过定义类来描述对象的属性和方法。

2. 封装:将对象的属性和方法封装在一起,隐藏对象的内部实现细节,只暴露外部接口。这有助于提高代码的可维护性和安全性。

3. 继承:允许一个类继承另一个类的属性和方法,从而实现代码的重用和扩展。Java 中的继承是单一继承,即每个子类只能有一个父类。

4. 多态:指同一个方法在不同的对象上可以有不同的表现形式。通过方法重写和接口实现来实现多态。

5. 抽象类和接口:抽象类是包含抽象方法的类,不能实例化;接口是只包含抽象方法的抽象类,用于定义一组行为规范。

6. 异常处理:Java 中的异常机制用于处理程序运行时可能发生的错误或异常情况。通过使用 try-catch 块来捕获和处理异常。

7. 集合框架:Java 提供了丰富的集合类,用于存储和操作一组对象。包括数组、列表、集合、映射等。

8. 文件 I/O:用于读取和写入文件。包括文件的创建、打开、读取、写入、关闭等操作。

9. 线程:线程是程序执行的最小单位。Java 提供了多线程编程的支持,包括创建线程、线程同步、线程通信等。

10. 数据库操作:Java 提供了 JDBC 库来与数据库进行交互,包括连接数据库、执行SQL 查询、处理结果集等。

以上是 Java 面向对象程序设计的一些重要知识点总结,希望对你有所帮助。

Java中面向对象的知识点总结

Java中面向对象的知识点总结

Java中⾯向对象的知识点总结

⼀、对象和类的概念

类:对具有相同属性和⽅法的⼀类事物的抽象。

对象:具体的某⼀事物,代表⾃⾝的⼀些属性和⽅法。

⼆、类(对象)之间的关系

关联(组合、聚合),继承,依赖、实现

三、⾯向对象设计思想

⾯向对象---》考虑哪些类,对象---》类和对象有属性、⽅法-----》类和类之间的关系

四、重载、重写和隐藏

1). 重载(overload):

⽅法重载就是多个⽅法名称相同但是参数类型或者参数个数不同的⽅法,与返回值类型和修饰符⽆关

class Test {

public int test(int a) {

return a;

}

public String test(String a) {

return a;

}

public float test(int a, String b) {

return 0f;

}

public float test(String a, int b) {

return 1.0f;

}

String test(float a) {

return "";

}

String test(int a) {//该⽅法不是重载

return "";

}

}

前⾯五个互为重载,第⼀个和第六个虽然返回值类型不同,但参数相同,所以第⼀个和第六个参数不是重载

2). 重写(override):

⼦类继承⽗类时,⼦类的⽅法名称、参数类型、参数个数与⽗类完全相同,则认为⼦类重写了⽗类的⽅法。

⽅法重写规则:

1. 参数列表和原⽅法完全相同

2. 返回值类型和原⽅法相同或者为⽗类返回值类型的⼦类型

3. 不能⽐原⽅法限制更严格的访问级别(举例:⽗类⽅法为public,那么⼦类不能为protected、private)

Java 面向对象 - 知识点汇总 - 20160104

Java 面向对象 - 知识点汇总 - 20160104

Java面相对象知识点汇总

一、类和对象

1.面向对象的三大特征

封装、继承、多态。

2.类和对象的定义

对象:具有一组属性和方法的实体就是对象。对象是类的具体。万事万物皆对象。

类:具有相同属性和方法的实体的集合。类是对象的抽象。

3.定义类的语法

访问修饰符 class 类名称{

//属性

//方法

}

4.定义对象的语法

类名对象名 = new 类名();

5.如何调用类中的属性和方法

对象名.属性对象名.方法名();

6.

二、方法

1.语法

访问修饰符返回值类型方法名(参数列表){

//逻辑代码

}

2.返回值类型

⏹如果方法没有返回值,那么应该使用void

⏹如果方法有返回值,那么必须在方法内部使用return关键字返回具体的值。

⏹一个方法最多有1个返回值。

3.形参和实参

⏹形参:形式参数,在方法定义时,参数列表部分的参数。

⏹实参:实际参数,在方法调用时传递的参数。

⏹形参必须添加数据类型,实参则不需要添加数据类型。

4.参数的引用传递和值传递

⏹形参部分,如果参数的数据类型为基本数据类型,那么就是值传递。

⏹形参部分,如果参数的数据类型为引用类型(String、数组、类),那么就是引用传递。

⏹值传递,在方法调用前后,实参的值不变;引用传递,在方法调用前后,实参的值可以改变。

三、构造方法

1.语法

访问修饰符 class 类名{

访问修饰符构造方法名(参数列表){

}

//属性

//方法

}

2.构造方法的方法名称必须和类的名称一致。

3.构造方法没有返回值类型。

4.参数列表部分,可以为空,也可以是多个参数,参数之间用逗号隔开。

5.一个类中可以包含多个构造方法。

Java面向对象基础总结

Java面向对象基础总结

面向对象基础总结篇

一、几个基本概念

1、面向对象的编程和面向过程编程

参考lesson4中的面向过程与面向对象介绍.docx

结构化程序设计:主张按功能分析系统需求,主要原则为:自顶向下、逐步求精、模块化、结构化。

一般步骤:结构化分析(SA)→结构化设计(SD)→结构化编程(SP)

结构化程序设计里最小的程序单元是函数

结构化设计需要采用自顶向下的设计方式,在设计阶段就需要考虑每个模块应该分解成哪些子模块,每个子模块又分解成哪些更小的模块……以此类推,直至将模块细化成一个个函数。

面向对象程序设计:使用类、对象、继承、封装、消息等基本概念进行程序设计。它以现实世界中客观存在的事物(对象)出发来构造软件系统,并在构造中尽可能使用人类的自然思维方式,强调直接以现实世界中的事物(对象)为中心来思考,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的类,作为系统的基本构成单元,这使得软件系统可以直接反映客观世界,并保持客观世界中事物及其相互关系的本来面貌。

2、类和对象:对象是类的实例,类是对象的模板

3、成员变量和局部变量

成员变量在整个类的内部都有效。

局部变量只在方法内部有效。

二、方法

1、方法的所属性

2、方法的组成:

方法的返回值类型和参数的名字不参与比较,也就是说如果两个方法的名字相同,即使返回值类型或者是参数的名字不同,也不能称为方法的重载,必须是参数个数或者是参数类型不同。

3、方法和重载和重写

方法重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。

Java面向对象基础知识复习

Java面向对象基础知识复习

复习

1保留字

goto

2.标识符

数字、字母、下划线、$组成,不能以数字开头,不能使用关键字或保留字,不能包含空格,不能包含除$以外的符号,不能包含中文

起名规范:包名:所有字母小写:aaabbbccc

类名/接口名:所有单词首字母大写:AaaBbbCcc

变量名/函数名:第一个字母全小写,后面单词首字母大写:aaaBbbCcc

常量名:所有字母大写,单词之间用下划线连接:AAA_BBB_CCC

3.基本数据类型、字节数、大小、包装类

byte 1字节2^7-1 Byte

short 2字节2^15-1 Short

int 4字节2^31-1 Integer

long 8字节2^63-1 Long

float 4字节2^31-1 Float

double 8字节2^63-1 Double

char 2字节2^15-1 Character

boolean 1位Boolean

4.a++、++a

b=a++:temp=a,a=a+1,b=temp

b=++a:a=a+1,b=a

5.&和&&的区别

&:无论左侧结果是什么,两侧都需要进行运算

&&:当左侧为false时,右侧不参与运算

6.最有效的方式计算2乘以8

2<<3

7.if和switch的区别

if后面是条件表达式,返回的是boolean类型,switch后面是byte/short/int/char类型的表达式

8.能被switch的数据类型有哪些

boolean、short、int、char(jdk1.7之后增加了String)

9.for循环执行顺序

for(初始化表达式1;循环条件表达式2;循环后操作表达式3){

JAVA面向对象总结

JAVA面向对象总结

面向对象主要特性:

封装性,继承性,多态性。

关系:

封装是继承的前提(先保证信息安全性),继承是多态性的前提,(只有继承了才能使用方法覆写)。

继承:

1.基本概念:继承是在一般类的基础上派生出反映特殊事物的类。特殊类继承一般类的数据成员和成员方法。

2.格式:

class父类A

{

Class子类Bextends父类A

{}

3.作用:1.可以简化类的定义,扩展类的功能

2.大大增强了程序代码的可复用性,提高了软件的开发效率,降低了程序产生

错误的可能性,为程序的修改扩充提供了便利(资源的复用)。

4.限制:1.JAVA中只允许单继承和多层继承,不支持多重继承。

2.子类不能直接调用父类私有属性,只能间接通过setter和getter方法调用私

有属性。

5.继承中的子类对象的实例化:先调用父类构造,再调用子类构造(原因:在子类构造

方法中隐含了一个super()来调用父类中的无参构造,来对继承自父类的成员做初始化操作)。

6.Super关键字:方便调用被覆写后父类中的方法。

6.1 作用:super关键字可以从子类中调用父类中的构造方法( super(参数) ),

普通方法(super.方法名)和属性(super.属性名)。

6.2特点:1.super强调调用的方法是从父类中来的。

2.super在子类中使用!

3.super()调用构造方法必须放在构造方法的首行。

4.this()不能与super()同时存在于一个构造方法内。(this调用构造方法也

必须放在构造方法的首行。)

多态性

1.概念:允许程序出现重名现象。

2.体现形式:1.方法重载

java面向对象经典总结

java面向对象经典总结

1、面向对象与面向过程的形象区别:

面向对象:先想好要做的盒子,之后再去找相应的工具去做

面向过程:不去想要做什么样的盒子,随需取用工具

2、对象的三大特征:

封装:对外部不可见。封装性在Java中有很多形式,private只是最基本的一种形式继承:扩展类的功能

多态:方法的重载、对象的多态性

3、类的设计思路:

其中第6点指不要再类中写System.out.println(“…”+类中的方法名(…))

4、内存划分:声明的对象或数组在栈内存中,使用new开辟堆内存。两者之间引用关系

5、GC:当某堆内存空间没有任何栈内存引用,则此堆内存空间被称为垃圾,等待GC回收

6、构造方法:new 类名称(),实际上就是调用构造方法

只有类中没有构造方法,才会自动生成一个无参的主体内容为空的构造方法

(冠:带参数的)构造方法的主要目的是为类中的属性初始化

7、匿名对象:只使用一次的对象。如new Person(“张三”,30).tell();

java理论知识点总结

java理论知识点总结

java理论知识点总结

Java语言是一种面向对象的高级编程语言,由Sun Microsystems公司于1995年发布。它是一种跨平台的语言,具有良好的可移植性和安全性。Java语言的设计初衷是为了在嵌入

式系统、移动设备和企业级应用中使用,但它现在已经成为了一门广泛应用的语言,被用

于开发各种类型的应用程序。本篇文章将对Java语言的一些重要理论知识点进行总结,

包括语言特性、基本概念、面向对象编程、并发编程、网络编程等。

1. Java语言特性

Java是一种成熟的编程语言,具有许多独特的特性,如跨平台、面向对象、健壮性、安全性、简洁性、高性能等。其中最突出的特点是跨平台性,也就是说,一次编译,到处运行。这是由于Java程序编译后生成的是字节码文件,而非特定平台的机器代码。字节码可以

在任何安装了Java虚拟机(JVM)的平台上运行。

Java也是一种面向对象的编程语言,它支持类、继承、接口、多态等面向对象的概念。这使得Java编程具有良好的可扩展性和复用性。Java语言还具有很好的健壮性和安全性,

它具有自动内存管理和异常处理,可以有效地避免内存泄漏和空指针异常等问题。

2. 基本概念

Java语言中的基本概念包括变量、数据类型、运算符、流程控制语句等。变量是用来存储数据的内存位置,数据类型则用来定义变量的种类。Java中的数据类型包括基本数据类型

和引用数据类型。基本数据类型包括整型、浮点型、字符型、布尔型等,而引用数据类型

包括类、数组、接口等。

运算符是用来进行运算的符号,包括算术运算符、关系运算符、逻辑运算符等。流程控制

java面向对象知识点总结

java面向对象知识点总结

1 类和对象

类:

类是用来描述一类事物的共性内容的, 类是抽象的;

创建类,如何描述

属性功能

用变量来描述属性

用方法来描述功能

对象:

就是现实中具体的事物,对象是具体的;

创建对象

类名对象名= new 类名();

如何通过对象访问类中属性和方法呢?

对象名.变量名

对象名.方法名();

只要是new的对象,就是新创建的,就会在内存中开辟一段单独的空间

匿名对象

创建的对象没有赋值给具体的变量;

所以给匿名对象的属性赋值是没有任何意义的;

匿名对象使用场景

1 调用方法

2 作为参数传递

3 添加进容器中

This 关键字

This. 类中的普通方法访问到的成员前边都有this.这个关键字This. 就代表当前对象,

普通方法, 创建对象调方法, 谁调用就代表谁

This(); 可以用来在构造函数中调用本类与之相对应的构造函数使用注意事项:

1 this() 只能是构造函数的第一条执行语句

2 this() 不能在构造函数之间相互调用

3 this() 不能调用自己

构造函数(方法)

构造函数的作用

用来给对象进行初始话的(初始化就是指给对象的各个属性赋值)

构造函数何时执行

对象一创建就会调用与之相对应的构造函数

构造函数语法

修饰符没有返回值类型类名(参数列表){

具体执行的代码

}

构造函数自动添加

当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构造,

如果我们指定了,就不添加了

构造函数和普通函数的区别

执行时机不同

对象一创建就会调用与之相对应的构造函数

普通函数只有被调用才会执行

return

1 就是用来在方法中返回具体结果(结果类型必须和方法的返回值类型一致)

Java面向对象部分总结与测试

Java面向对象部分总结与测试

Java面向对象部分总结与测试

一、面向对象基本概念

1.类与对象及两者的关系

具有相同特征和行为的事物的集合称为类,类中的一个实例称为对象。类是对象的集合,而对象是类的实例。

2.类的封装(class):将数据与数据的操作定义成类的过程

3.构造方法:与类名相同的,不写返回值类型的方法,只能在创建对象时对其进行初始化。

4.方法的重载:类中出现多个同名的方法,但方法的参数类型或者参数个数不同,这种现象叫方法的重载。

5.类成员与实例成员(static)

(1)有static修饰的为类成员,没有的为实例成员

(2)类变量由所有对象共享,实例变量有每个对象独占

(3)类成员可以由类和对象来引用,而实例成员只能由对象引用

(4)类方法只能调用类成员,而实例方法可以调用所有成员

6.import与package

import 包名.类名; package 包名;

7.访问权限(public、protected、private)

public:公有的,没有限制任何类都可以访问

protected:受保护的,只有不同包的子类或者同包可以访问

友好的:缺省的,必须同包的类才可以访问

private:私有的,只有本类中才可以访问

8.类的继承(extends)

class 子类名extends 父类名{ }

9.继承特性

(1)同包继承除private以为的所有成员

(2)不同包只能继承public和protected成员

(3)继承之后的成员不改变访问权限

10.子类对象的创建过程

特别注意调用子类构造方法是一定要首先执行父类的构造方法,完成父类对象的初始化。

java面向对象总结

java面向对象总结

面向对象

1.基本概念

面向对象是一种思想,它专注于对象,也就是人们要进行研究的任何事物,面向对象更加有利于处理问题,并且使程序更具有灵活性。

三个特点:

1.封装性:

两个方面,保护信息,把对象的属性和行为看作一个整体。

2.继承性:

主要描述反映事物特征的类,在一个大类的基础上反映一些特殊的事物

3.多态性:

允许程序中出现重名现象,方法重载,方法复用,对象多态

重载:方法参数不同,完成功能不同(牛吃草,牛吃肉)

Public void println(int i){…}

Public void println(float f){…}

Public void println(String s){…}

复用:方法参数相同,类不同(牛吃草,小牛吃草)

对象多态:子类和父类是可以相互装换的

2.类与对象

类是对一类事物的大概描述,而对象是对类的具体实现。

2.1类的定义

类由属性和方法组成,属性是类的一个个具体信息,在程序中相当于一个变量,而方法是一些操作行为。

类的定义分成两部分:类声明和类体。类体包括类成员变量的声明、构造方法和成员方法的声明与定义。

类图的表示:

第一层表示类的名称

第二层表示属性的定义,按照“访问权限属性名称:属性类型”定义

第三层表示方法的定义,按照“访问权限方法名称():方法返回值”定义

2.1对象的创建和使用

类名对象名称=null;\\声明对象

对象名称= new类名();\\实例化对象

注意:所有对象名称都在栈内存中保存,而对象的具体内容则保存在堆内存之中,实例化则是开辟堆内存空间。

3.封装性

函数是最小的封装体。类也是一个封装体。private:表示私有的,权限修饰符,用来修饰类中的成员(成员变量、成员函数),其只在本类中有效。每个成员变量通常都会对应两个访问方式:一个设置,一个获取。

java面向对象精华总结

java面向对象精华总结

java⾯向对象精华总结

Java⾯向对象精华总结

⾯向对象是相对⾯向过程⽽⾔的,⾯向过程强调的是功能⾏为,⾯向对象是将功能封装进对象,强调具备了功能的对象。

⾯试官若问什么是⾯向对象(开放式问题,回答必须有⾃⼰的体会):

1、⾯向对象是⼀种思想,可以使复杂的问题简单化,可以使我们从执⾏者变成指挥者

2、结合实际场景举个例⼦说明:⾯试官就是在⽤⾯向对象的思想思考问题,公司⾥⾯现在

有招⼈的需求,说明公司现在的业务量⽐较⼤,代表着公司在蓬勃发展,你需要找⼀些具有专业编程经验的⼈来帮你完成公司的⼯作,我就是那个对象,我具备专业编程的功能,你就是在指挥我做事情,就是使⽤我的功能,来为公司创造效益。【万物皆对象】⾯向对象三⼤特征:封装、继承、多态

类和对象的关系:

类:对现实⽣活中事物的描述

对象:就是这类事物,实实在在存在个体

描述事物就是描述事物的属性(对应类中变量)和⾏为(对应类中⽅法),属性和⾏为共同称为类的成员(成员变量和成员⽅法)

成员变量作⽤于整个类中,局部变量作⽤于函数中,或者语句中

成员变量在堆存中,因为对象的存在,才在存中存在,局部变量:存在栈存中

封装(Encapsulation):是指隐藏对象的属性和实现细节,仅对外提供公共访问⽅式

好处:将变化隔离、便于使⽤、提⾼重⽤性、提⾼安全性

封装原则:将不需要对外提供的容都隐藏起来,把属性都隐藏,提供公共⽅法对其访问private(私有):权限修饰符,⽤于修饰类中的成员(成员变量,成员函数),私有只在本类中有效。

static⽤于修饰成员(成员变量和成员函数)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j a v a面向对象知识点总

Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1 类和对象

类:

类是用来描述一类事物的共性内容的, 类是抽象的;

创建类,如何描述

属性功能

用变量来描述属性

用方法来描述功能

对象:

就是现实中具体的事物,对象是具体的;

创建对象

类名对象名 = new 类名();

如何通过对象访问类中属性和方法呢

对象名.变量名

对象名.方法名();

只要是new的对象,就是新创建的,就会在内存中开辟一段单独的空间匿名对象

创建的对象没有赋值给具体的变量;

所以给匿名对象的属性赋值是没有任何意义的;

匿名对象使用场景

1 调用方法

2 作为参数传递

3 添加进容器中

This 关键字

This. 类中的普通方法访问到的成员前边都有this.这个关键字This. 就代表当前对象,

普通方法, 创建对象调方法, 谁调用就代表谁

This(); 可以用来在构造函数中调用本类与之相对应的构造函数使用注意事项:

1 this() 只能是构造函数的第一条执行语句

2 this() 不能在构造函数之间相互调用

3 this() 不能调用自己

构造函数(方法)

构造函数的作用

用来给对象进行初始话的(初始化就是指给对象的各个属性赋值) 构造函数何时执行

对象一创建就会调用与之相对应的构造函数

构造函数语法

修饰符没有返回值类型类名(参数列表){

具体执行的代码

}

构造函数自动添加

当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构造,

如果我们指定了,就不添加了

构造函数和普通函数的区别

执行时机不同

对象一创建就会调用与之相对应的构造函数

普通函数只有被调用才会执行

return

1 就是用来在方法中返回具体结果(结果类型必须和方法的返回值类型一致)

2 即便方法的返回值类型是void,方法中也可以出现 return;

3 构造函数中也可以有return关键字

成员变量和局部变量

1 作用范围不同, 成员变量是定义在类中的,在整个类中都起作用

局部变量是定义在方法中的,在所在代码块起作用

2 初始值不同,成员变量有默认初始值,不用赋值,也能直接时候

局部变量,没有初始值,必须得赋值以后才能使用

2 封装

static

Static 是用来修饰类中成员成员变量成员方法

被static修饰的成员,就多了一种调用方式,可以被类名直接调用了

修饰成员变量

该变量在内存中只会保存一份,被类和所有对象共享, 那么一个对象对其进行修改,会影响到其他对象,为了不影响其他对象,经常会把静态变量搞成常量,被final 修饰;

修饰成员方法

静态方法中只能访问静态成员

普通方法中都能访问;

静态方法中不能出现this,super关键字

Main函数是静态的;

那么我们定义方法时,什么时候定义静态,什么时候定义非静态

当方法中使用到了普通(非静态)成员的话,就不能定义成静态的;

static代码块 (静态代码块)

用来给类进行初始话 (给类中的静态成员进行初始化)

会随着类的加载而执行(只会执行一次)

封装

就是隐藏类中的某些成员;仅对外提供公共的访问方式

封装三步走:

1 私有属性

2 提供set和get方法供外界给对象设置值和获取值

3 在方法中添加具体的存取限制

包和权限修饰符

权限修饰符可以用来修饰两种东西:

Public 该类在其他包中也可以访问 (首先要导包 import)

默认

类中成员

Public protected 默认 private

本类中是否能访问本包其他类其他包

Public 能能能

默认能能不能

Private 能不能不能

1 创建包

包的作用

1 便于管理

2 防止命名冲突;

3 包也是封装的一种方式,可以在更广的范围保护类

3 继承

某个类可以通过 extends 继承其他的类

一个类继承了另外一个类以后,就继承了所有的非私有的属性和方法

注意事项

1 java中只允许单继承; 不允许多继承, 但是允许多层继承

2 何时继承 A is B;

继承发生以后类中成员的特点

1 成员变量

当子类和父类的成员变量同名是,子类中优先使用子类自己的. 可以通过super.调用父类的成员变量和成员方法;

2 成员方法

子父类具有相同的功能,但是子类有自己具体的实现,这个时候子类是没有必要重新定义一个方法的,只需要重写父类就行了;

重写 (覆盖)

1 前提, 存在继承和实现关系

2 方法名一样,参数列表一样,返回值类型一样(jdk5以后要求子类的返回值类型是父类返回值类型的子类也行)

3 子类方法的权限不能小于父类

4 子类方法不能抛出比父类更多的异常

重载

同一个类中,方法名一样,参数列表不一样(参数数量, 参数类型),与返回值类型无关

3 构造函数

1 构造函数是不能继承的;

2 但是子类可以在构造函数中通过super()调用父类与之相对应的构造

3 如果子类构造函数首行没有明确指定this(), super(“”);这样的语句的话,其实是有一天隐式语句 super(),调用父类空参数构造,如果父类没有空参数构造的话,子类是会报错的;

4 如果子类首行有this() 这样的语句的话,就没有隐式语句super();

5 不论子类的第一行有没有this(),super(); 创建子类对象的时候一定会调用到父类的某个构造;

相关文档
最新文档