Java程序设计-面向对象(一)
2021/12/4 17:19:50
本文主要是介绍Java程序设计-面向对象(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. 面向对象思想
- 面向对象就是一种常见的思想,符合人们的思考习惯
- 面向对象的出现将复杂的事情简单化
- 面向对象的出现将我们的身份由执行者转变成为了指挥者
- 面向对象的重点只需要关注两个:
- 有没有这个对象
- 对象里面具不具备这样的功能
2. 面向对象开发
就是不断的创建对象,使用对象,指挥对象做事情,有对象就找这个对象做事情,没有对象自己创建
一个对象,使其拥有这样的功能,其他人也可以使用这个对象
3. 面向对象设计
其实就是在管理和维护对象之间的关系
4. 面向对象特征
封装、继承、多态、抽象
5. 类和对象之间的关系
用Java语言描述现实中的事物,通过类的形式来体现,对于事物的描述通常只关注两个方面:
一个是属性、一个是行为(功能、方法),只要明确该事物的属性和行为并定义在类中即可
- 类:对某一类事物的描述(属性、行为)
- 对象:该类事物的实例,在java中通过new的方式创建
6. 成员变量和局部变量的区别
- 作用域
- 成员变量定义在类中,整个类都可以访问
- 局部变量定义在方法中,语句(for循环)中,局部代码块中,只在所属的区域有效
- 变量的存在那块内存
- 成员变量存在于堆内存的对象中
- 局部变量存在于栈内存的方法中
- 生命周期
- 成员变量随着对象的创建而存在,随着对象的消失而消失
- 局部变量随着所属区域的执行而存在,随着所属的结束而释放
- 是否有默认值
- 成员变量有默认的初始化值
- 局部变量没有默认的初始化值
7. 封装思想
是指将属性私有化,对外提供公共的访问形式(getter,setter)
注意:私有仅仅是封装的一种体现
8. 构造方法(Constructor)
- 特点:
- 构造器的名称与类名相同
- 构造器不用定义返回值类型
- 构造器没有具体的返回值
- 作用:
- 给对象进行初始化
- 注意:
- 默认构造器的特点
- 一个类中多个构造器是以"重载"的形式体现的
- 重载:
- 方法名相同,参数列表不同
9. this关键字
-
用法1:
当成员变量和局部变量重名时,可以使用this来区分
this:代表对象,代表当前对象,this就是所在方法所属对象的引用。简单说:就是哪个对象调用this所在的方法
this就代表哪一个对象 -
用法2:
this还可以在构造器中调用构造器
10. 抽 象类(abstract)
抽象:笼统、模糊、看不懂、不具体
-
抽象类的特点:
- 方法只有声明没有实现时(没有方法体),该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中,该类也必须使用abstract修饰
- 抽象类不可以被实例化(不可以被new)因为调用抽象方法没有意义
- 抽象类必须由其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则,这个子类还是一个抽象类
- 抽象类和抽象方法非常适合做"系统的分析和设计的工具"
-
问题:
-
抽象类中有构造器吗?
有,可以给子类对象进行初始化 -
抽象类中可以不定义抽象方法吗?
可以,但是很少见
适配器类abstract class A{ void show1(){} void show2(){} }
+ 抽象(abstract)关键字不可以和下列哪些关键字共存? private不行,抽象方法需要被覆盖 static不行 final不行 + 抽象类一定是父类吗? 一定是 + 抽象类和一般了类的异同 相同点: 抽象类和一般类都是用来描述事物, 都在内部定义了成员 不同点: 1)一般类有足够的信息描述事物 抽象类描述事物的信息可能不足 2)一般类中不能定义抽象方法,只能定义非抽象方法 抽象类中可以定义抽象方法,也可以定义非抽象方法 3)一般类可以被实例化 抽象类不能被实例化
-
这篇关于Java程序设计-面向对象(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-10SpringBoot 内部方法调用,事务不起作用的原因及解决办法
- 2024-11-10独立开发者 5 个月,月收入赶超北京工资,我的一点心得
- 2024-11-09程序员 SEO 系列:如何找到更多搜索关键词?
- 2024-11-09为何选择Spring AI Alibaba开发智能客服平台?
- 2024-11-09Sentinel不同的流控效果资料详解
- 2024-11-09Sentinel配置限流资料:新手入门教程
- 2024-11-09Sentinel配置限流资料详解
- 2024-11-09Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel限流资料入门教程