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      类,接口,变量,方法    类中含有没有实现的方法,该类不能实例化 所有接口都是抽象的,是
                                 接口缺省的修饰符 没有实现的方法
相关推荐
小江的记录本17 分钟前
【分布式】分布式核心组件——分布式锁:Redis/ZooKeeper/etcd 实现方案(附全方位对比表)、优缺点、Redlock、时钟回拨问题
java·网络·redis·分布式·后端·zookeeper·架构
好家伙VCC18 分钟前
**发散创新:用Rust实现基于RAFT共识算法的轻量级分布式日志系统**在分布式系统中,**一致性协议**是保障数据可靠
java·分布式·python·rust·共识算法
晔子yy1 小时前
【JAVA探索之路】从头开始讲透、实现单例模式
java·开发语言·单例模式
chools7 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
李白你好7 小时前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
U盘失踪了8 小时前
Java 的 JAR 是什么?
java·jar
今天又在写代码9 小时前
java-v2
java·开发语言
competes9 小时前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql
2501_9130613410 小时前
网络原理知识
java·网络
希望永不加班10 小时前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式