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      类,接口,变量,方法    类中含有没有实现的方法,该类不能实例化 所有接口都是抽象的,是
                                 接口缺省的修饰符 没有实现的方法
相关推荐
fouryears_23417几秒前
IDEA推送github,身份认证错误:Cannot assign requested address: getsockopt 解决方法
java·ide·intellij-idea
我命由我123452 分钟前
Android PDF 操作 - AndroidPdfViewer 显示 PDF 异常清单(数据为 null、数据为空、PDF 文件损坏、非 PDF 文件)
android·java·java-ee·pdf·android studio·android-studio·android runtime
CodeCraft Studio15 分钟前
【金融行业案例】基于Vaadin全栈Java框架重构内部系统,全面提升开发效率与用户体验
java·金融·重构·vaadin·银行内部系统·纯java开发框架·java web框架
潇I洒22 分钟前
Linux写sh开机启动脚本-bash报错的两种解决方法
java·linux·bash
R.lin1 小时前
使用注解将日志存入Elasticsearch
java·大数据·后端·elasticsearch·中间件
滴滴滴嘟嘟嘟.1 小时前
全屏定时提醒工具
java·开发语言
せいしゅん青春之我1 小时前
【JavaEE初阶】网络原理——TCP处理先发后至问题
java·网络·笔记·网络协议·tcp/ip·java-ee
星星落进兜里2 小时前
Spring全家桶面试题, 只补充细节版本
java·后端·spring
用户6120414922132 小时前
使用JSP+Servlet+JavaBean做的课程后台管理系统
java·javascript·mysql
乌暮2 小时前
数据库--JDBC编程
java·数据库·学习