4.Java 类和对象

1.面向对象的基本概念

1.面向机器: 程序 = 数据 + 指令

2.面向过程: 程序 = 数据结构 + 算法

3.面向对象: 程序 = 对象 + 消息

术语:抽象, 对象, 消息, 类(程序由类构成),继承, 多态, 封装

2.类和对象

1.类是一种(类)对象的设计图纸 如:类-房子 房子的图纸 有长宽高和占地面积等一些标注

2.对象是类的实例 如:A aobj = new A(); A-类 aobj-对象 即类的实例

3.类定义

java 复制代码
[修饰符关键字] class 类名 [extends 父类名] [implements 接口列表] {
    //类的内容
}
1.修饰符关键字
    public 公共的类
    abstract 抽象的类 需要被继承,不能用final修饰
    final 最终的类 不能被继承 指它已经是最底层了 比如 String 已经不能被继承
    strictfp 符合浮点规则标准的类 此类所有处理浮点数的方法都遵守一个标准
    static 静态的类 静态的内部类不能有对外调用
2.class 默认继承 Object

4.类的成员

1.变量

1.定义格式 修饰关键字 类型 变量名

2.方法

2.定义格式 修饰关键字 返回类型 方法名(类型 参数名,......) { //方法体 }

3.构造方法

1.构造函数无返回类型

2.构造函数名称必须和类名相同

4.重载

1.同一个类

2.多个方法的方法名字相同

3.参数列表不同

参数个数不同,参数的数据类型不同,不同数据类型的参数顺序不同

4.方法的重载和修饰符无关

5.方法的重载和有无返回值无关

6.方法的重载和返回值类型无关

7.方法的重载和参数名无关

8.方法的重载是一个类中多态的一种体现

  1. 类和成员的修饰符
java 复制代码
修饰符         可修饰对象          含义
public        类,接口,变量,方法    可跨包访问
private       变量,方法           类内可访问
protected     变量,方法           包内可访问
static        类,接口,变量,方法    静态内部类不能对外调用,成员独立于该类的任何实例对象,
                                 不能创建内部类 变量是全局变量 方法是全局方法,在其中
                                 不能使 this,super
synchronized  方法                保持线程同步
final         类,接口,变量,方法    没有子类的类 不能改变变量值,不能改变变量的字段,不能
                                 被覆盖的方法
abstract      类,接口,变量,方法    类中含有没有实现的方法,该类不能实例化 所有接口都是抽象的,是
                                 接口缺省的修饰符 没有实现的方法
相关推荐
云和数据.ChenGuang6 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
摇滚侠6 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12
java·数据库·笔记
silvamux_9 小时前
10款模型写种草笔记:可发布性、返工来源与成本数据缺口复盘
java·数据库·笔记
步行cgn9 小时前
StringHttpMessageConverter 详解:Spring MVC 中字符串读写的默认转换器
java·spring·mvc
摇滚侠9 小时前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 11
java·笔记·python
小蒜学长10 小时前
基于Spring Boot+Vue3的在线医疗咨询系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·在线问诊·在线医疗咨询系统
Deng桑10 小时前
SpringAI写第一个Agent-把工单循环跑起来
java·agent·工具调用·spring ai
步行cgn12 小时前
@ResponseBody 详解:Spring MVC 中把返回值直接写入响应体
java·spring·mvc
jason成都13 小时前
RTKLIB 的 Java 移植版来了:rtklib-java v3.3.0 功能全景
java·gnss·rtklib·rtklib_java
LazyHunter913 小时前
JDK 28:Java 下一步方向解析与新特性展望
java·jdk