javaSE进阶学习-01

JavaSE 集合进阶 JavaSE 集合进阶1. Collection1.1 集合知识回顾1.2 集合类体系结构1.3 Collection 集合概述和使用1.4 Collection 集合常用方法1.5 Collection 集合的遍历2. List3. Set4. 泛型5. Map6. Collections 1. Collection 1.1 集合知识回顾 集合类的特点: 提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 1.2 集合类体系结构 1.3 Collection 集合概述和使用 Collecti 阅读详情

javaSE进阶学习-01

final:表示不可改变,只要被final修饰了的就只能赋值一次

  • 采用 final 修饰的类不能被继承、采用 final 修饰的方法不能被覆盖、采用 final 修饰的变量不能被修改

  • 如果修饰的引用,那么这个引用只能指向一个对象,也就是说这个引用不能再次赋值, 但被指向的对象是可以修改的

  • final修饰实例变量系统不管,程序员必须手动给一个默认值,不手动就会报错。(因为系统默认的无参构造给变量默认值,发现该变量有final修饰,就报错了)程序员手动赶在系统赋默认值之前赋值编译器就不报错了。

  • 构造方法不能被 final 修饰

  • final修饰的实例变量一般带static,

  • final修饰的变量必须显示初始化

抽象类abstract

  • abstract 关键字定义的类就是抽象类,采用 abstract 关键字定义的方法就 是抽象方法

  • 抽象的类是不能实例化的,就像现实世界中人其实是抽象的,张三、李四才是具体的

  • 一个类中含有抽象方法,那么这个类必须定义成抽象类

  • 抽象方法不能有主体

  • 抽象方法必须被重写!!!起到一个约束作用,就是子类必须实现 ,如果子类不复写抽象方法,这个子类也要声明成抽象类

  • 抽象类和方法都不能用final修饰,抽象类和方法要被子类实现呀,这俩关键词是矛盾的

接口(行为)接口我们可以看作是抽象类的一种特殊情况,在接口中只能定义抽象的方法和常量

接口基础语法

  • 接口采用 interface 声明,是完全抽象的

  • 接口是一种"引用数据类型"

  • 接口定义:【修饰符列表】 interface 接口名{}

  • 接口之间可以继承,也支持多继承,但接口之间不能实现

  • 接口中只有常量和抽象方法

  • 接口中的方法默认都是抽象的,不能有方法体, public abstract 可以省略

  • 接口中的常量是 public static final 类型的,而且public static final可以省略

  • 一个非抽象的类如果要实现接口中的方法,必须要重写接口里的抽象方法

  • 继承是extends,实现是implements

  • 接口和接口之间可以强制转换继承关系,没有继承关系也能强转,但注意:运行会报ClassCastException异常

  • extends和implements可以共存,先extends然后implements

  • 使用接口写代码的时候可以用多态

接口在开发中的应用

  • 面向接口编程主要是降低程序耦合度,提高程序扩展力

is a :Cat is a Animal 凡是满足is a的,都可以用继承表示A extends B

has a :I has a pen(我有一支笔)凡是满足has a 的都是关联关系都可以用属性表示

A{

B b;

}

like a: customer has a FoodMenu 厨师像一个菜单,表示实现关系A implements B

抽象类和接口

  • 抽象类半抽象,接口是完全抽象

  • 抽象类里有构造方法接口中没有

  • 接口中只允许出现常量和抽象方法

  • 接口一般都是对行为的抽象

  • 接口接口能多继承,抽象类单继承

《JavaSE系列教程》 本专栏内容是为零基础正在学习Java的学习者量身定制的学习路线及方案,本教程字数超20w+,插图超过400+,知识体系极其全面,案例极其丰富。本配备有专门的学习群及学习视频,读者可加学习群与正在学习该阶段的人一同学习,有任何不懂的也可以观看于此教程配套的学习视频。 阅读详情

相关推荐

Ansys Lumerical | 薄膜铌酸锂电光调制器的仿真与优化

本文详细介绍了使用Ansys Lumerical进行薄膜铌酸锂电光调制器仿真与优化的全流程。从基础原理到电学仿真、光学模拟技巧,再到设计优化实战经验,帮助工程师掌握这一先进光电器件的仿真方法。重点解析了薄膜铌酸锂的Pockels效应和Mach-Zehnder结构设计,并提供了常见问题排查指南和最新发展动态。

vulkan6gpu的博客 1197

JavaSE进阶第一章(面向对象 )

文章目录一、final关键字二、抽象类三、接口1、接口总结2、接口的进一步应用总结 一、final关键字 final 表示不可改变的含义  采用 final 修饰的类不能被继承  采用 final 修饰的方法不能被覆盖  采用 final 修饰的变量不能被修改  final 修饰的变量必须显示初始化  如果修饰的引用,那么这个引用只能指向一个对象,也就是说这个引用不能再次赋值, 但被指向的对象是可以修改的  构造方法不能被 final 修饰  会影响 JAVA类的初始化:final 定义的静态

guo_shi_的博客 406

C语言头文件完全解析(连“#”我都给你讲明白)

C语言头文件完全解析 引言 本文将尽量详细的介绍c语言的头文件所包含的知识,如有错误,还望指正。 萌新们肯定疑惑为什么每次打代码都要写一个所谓的头文件(如:#include<stdio.h>),这里先简单让大家有个了解,你所用的 printf("%d",a)就是这个 stdio里的东西,如果没有这个头文件,编译器都不知道 printf是个什么东东。所以头文件就是一个准备好的大仓库,你可...

CRAZY_eyes的博客 7万+

黑马程序员_JavaSe基础知识总结六:super、final关键字

------ android培训、java培训、期待与您交流! ---------- 一、super关键字 1、super关键字的作用 ①调用父类的构造方法 ②调用父类的成员方法 需要注意:super 只能应用在成员方法和构造方法中,不能应用在静态方法中(和this 是一样的),如果在构造方法中使用必须放在第一行。   2、为什么会有super关键字? ①因为子类必须要

liulin90的博客 465

【报错】sqli-labs靶场搭建出现“Unable to connect to the database: security”

搭建sqli-labs靶场时,“Unable to connect to the database: security”报错解决

九芒星的博客 2991

保姆级教程:用Protege 5.5.0从零构建你的第一个知识图谱(附实战案例文件)

本文提供了一份详细的Protege 5.5.0使用指南,从零开始构建知识图谱。涵盖环境配置、本体结构设计、实例填充到可视化展示的全流程,特别适合初学者快速掌握知识建模技术。通过实战案例演示,帮助读者理解如何定义类、属性及建立实例关系,是学习知识图谱构建的实用教程。

weixin_42548816的博客 554

JavaSE基础进阶学习day01

视频教学资料 https://www.bilibili.com/video/BV1Cv411372m?p=100

q2524344929的博客 815

高通平台power_supply 框架下添加第三方充电IC的驱动方法

1.power_supply电源框架介绍: power supply framework在kernel/drivers/power/下。内核抽象出来power supply子系统为驱动提供了统一的框架。 功能包括: 1.抽象PSY设备的共性,向用户空间提供统一的API; 2.为底层PSY驱动的编写,提供简单、统一的方式,同时封装并实现公共逻辑。 power supply class位于d...

Change 1万+

JAVASE进阶学习day01相关笔记

1. 2. 3. 垃圾回收器不会释放常量 4.比较String值是否相同 public class UserTest { public static void main(String[] args) { String s1="xyz"; String s2="xyz"; //true,使用的是相同的字符串常量池中的地址。 System.out.println(s1==s2); String x1=new

qq_20071375的博客 276

YOLO-World:从入门到实战的多模态目标检测全指南

想象一下,你给模型一张“公园”的图片,再输入文字“红色的郁金香”,它能直接在图中框出所有红色郁金香的位置——这就是多模态目标检测:结合图像视觉信息和文本语义信息,同时完成“是什么”(分类)和“在哪里”(定位)的任务。传统目标检测(如YOLOv5、YOLOv8)只能识别预定义的类别(比如训练时学过“猫”“狗”),但多模态目标检测摆脱了“类别预定义”的限制,只要文本能描述,它就能检测,这就是“开放词汇检测(Open-Vocabulary Detection)”的魅力。

know_F0727的博客 204

OpenMVS :用 colmap制作自己的数据集 重建(用colmap计算位姿,将位姿转为MVS需要的格式)

数据集制作主要是在windows进行,比较方便。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 3325

JavaSE学习进阶day04_01 Date类

JavaSE学习进阶day04_01 Date类

我的博客 638

K8s(二十二):k8s集群如何部署一个Spring Boot项目(依赖于MySQL和Redis外部服务)

🔴 K8s(二十二):k8s集群如何部署一个Spring Boot项目(依赖于MySQL和Redis外部服务)

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2万+

JavaSE学习进阶day03_01 多态

JavaSE学习进阶day01_01 多态

我的博客 469

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JavaSE学习进阶day07_01 Stream流

JavaSE学习进阶day07_01 Stream流

我的博客 468

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JavaSE学习进阶day05_01 Collection集合

JavaSE学习进阶day05_01 Collection集合

我的博客 332

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JavaSE学习进阶 day1_01 static关键字和静态代码块的使用

JavaSE学习进阶 day1_01 static关键字和静态代码块的使用

我的博客 494

JavaSE学习进阶day06_01 数据结构(进阶)

JavaSE学习进阶day06_01 数据结构(进阶)

我的博客 763

JavaSE学习进阶day2_01 包和权限修饰符

JavaSE学习进阶day2_01 包和权限修饰符

我的博客 532

Java基础知识(JavaSE)总结进阶01

一阶段: JavaSE进阶学习01 1. 分包分类思想 ​ 包的本质就是文件夹 包的注意事项: 1.package的语句必须是程序的第一题可执行的代码 2.package的语句在一个java文件只能有一个 3.如果没有package,默认表示无包名 同一个包下的访问 ​ 不需要导包,直接使用即可 不同包下的相互访问 1.先导包后访问(import) 2.通过全类名(包名+类名)访问 使用全类名的应用场景:多个包下,出现了相同的类名称,就可以使用这种访问方式进行区分 注意: import、p

你的大龙猫啊 499

JavaSE 01

JAVASE 学习1 作为初学者,主要在此记录学习过程中的点滴,以供参考和后期回顾。 1.Java是一个全面且功能强大的语言,可用于多种用途,Java有三个版本: *Java标准版(Java Standard Edition,Java SE)可以用来开发客户端的应用程序。应用程序可以独立运行或作为applet在浏览器中运行。 *Java企业版(Java Enterprise Edition,Jav...

qq_43624679的博客 1万+

JavaSE01

JavaSE笔记01 文章目录JavaSE笔记01注释标识符数据类型常量变量变量作用域变量的命名规范运算符 注释 定义:解释性的内容,不会被执行,书写注释是非常好的习惯 注释的类型 单行注释// 多行注释/* */ 文档注释/** */ 平时写代码一定要注意代码规范 标识符 所有的标识符都应该以字母(A-Z或者a-z)、$、_ 开始 首字母之后可以是(A-Z或者a-z)、$、_ 或者数字的任何组合 不能使用关键字作为变量名或方法名 标识符是大小写敏感的 可以使用中文作为标识符,但不推

m0_46320795的博客 3681

JavaSE进阶学习笔记-目录汇总(待完成)

JavaSE进阶学习笔记-目录汇总 文章目录 01-object类,常用API 02-Collection,泛型 03-list,set,数据结构,Collections 04-map,斗地主案例 05-异常,线程 06-线程,同步 07-等待与唤醒案例,线程池,Lambda表达式 08-file类,递归 09-字节流,字符流 10-缓冲流,转换流,序列化流,FIles 11-网络编程 12-函数...

qq_33820545的博客 475

进阶JavaSE基础01

JavaSE 配置环境变量的目的:一般都是在bin文件中打开java.exe,当要在别的地方也可以使用Java时,就需要配置环境变量,总之一句话:配置环境变量的目的是可以在任何地方使用Java 运行Java文件,生成可执行的class文件(Java 类名) javac是编译 (编写 编译 运行) 在JavaSE阶段想要运行程序,必须需要入口方法 JavaSE:数据类型,变量,运算符,流程控制,数组 JavaEE:类,对象,三大特性,接口,设计模式 Java程序开发:集合,IO流,多线程,异常处理

weixin_54236608的博客 823

【JavaSE学习】01Java入门

JavaSE(B站黑马)学习笔记 01Java入门

weixin_48074431的博客 249
上一篇: java学习(十一)super
下一篇: javaSE进阶学习-02
python_nice
博客等级 码龄8年 46粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值