自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Java向上转型和向下转型

一、向上转型简单的说向.上转型就是:将-一个子类类型的对象赋值给- -个父类类型的变量,基本的实现语法:父类类型变量=new 子 类类型();DEMO:向上转型发现了可以使用父类类型的变量调用子类覆写了父类的方法,但是为什么不调用Worker的say()方法呢?原因是具体调用哪一个子类覆写的方法是在运行期间根据具体你赋值的子类来确定的。思考:在之前我们说过,子类出了可以继承父类的成员方法和变量还可以扩充属于自己的新的操作,那么可以使用父类类型的变量调用子类新扩充

2020-12-31 11:37:54 285

原创 java抽象类和抽象方法

一、抽象方法和抽象类的概念和使用在之前的课程中学习了方法的覆写(子类覆写父类的方法),也就是子类可以重写父类的方法,但是这是可选的(你可以覆写也可以不覆写在语法上都不会出现问题的),如果有一个需求:要求父类的某个方法必须被子类覆写,那么就需要将父类的这个方法定义为抽象方法(强制要求被覆写),如果一个类中出现了抽象方法那么这个类必须定义为抽象类,抽象类和抽象方法的定义语法:●定义抽象类: public abstract class 类名{};●定义抽象方法: publ...

2020-12-30 10:42:56 1313 1

原创 JDK的安装与环境变量配置图文教程

一:jdk的下载和安装1、可以到官网去 下载,是开源的下载地址:http://www.oracle.com/technetwork/java/javase/ downloads/jdk8-downloads- 2133151.html如果你的电脑是64为操作系统下载:“ jdk-8u25 1-windows-x64.exe”, 如”果是32位系统下载“jdk-8u251-windows-i586.exe2、安装(很简单的)●双击安装程序,一直下一步(不需要修改安装目录路径)出现如下界面

2020-12-28 14:34:08 570 1

原创 【学习笔记】Java中方法的覆写

一、方法的重写概念之前说了子类如果继承了一个父类,那么子类就会拥有父类的方法(不包括构.造方法)和属性,此时如果在子类中定义了一个和父类一样的方法,这种现象叫做子类覆写(重写)了父类的方法。DEMO:重写父类父类方法以上的代码如果实例化一个Stundent子类对象,然后调用getInfo()则调用的是子类还是父类的getInfo()方法呢?DEMO:观察代码发现了调用的是子类中的方法,就是说子类的getnfo()覆盖了父类的getInfo()方法,其实上在调用的时候先在子类中查找

2020-12-28 11:46:36 194

原创 java多重继承

类的继承是存在局限性的,一个 子类只能继承一个父类,但是可以多重继承,多重继承就是先让B类继承A类,之后再让C类继承B类。calss A{} //这是父类class B extends Af{; //此时 B类具备了A的操作class C extends B{}; //此时 C类有A类和B类的所有操作DEMO:多重继承此时C类就继承了A类和B类的属性以及方法,其实上在实例化子类的时候会调用父类的构造方法(虽然子类不能继承父类的构造方法,但是在实例化子类的时候会默...

2020-12-25 17:16:54 828

原创 Java二分查找法

一:二分法查找元素二分法查找元素的方式又叫做折半查找,从数组中查找,而且数组是已经按照升序或者降序排列好的,如果数组的元素是无序的则不能使用二分法查找。比如说我们有一个数组,这个数组有100万个元素,此时我们有一个需求:得到了一个数据,要判断这个数组中是否有这个数据,如果有则返回对应的下标索引,如果没有就返回-1,要实现这个需求有两种方案可选,一种就是线性查找,一种就是二分法查找。.DEMO :线性查找最后学习不要走马观花的学,每个知识重点大纲,就是学习路线都是根

2020-12-24 17:15:32 160 1

原创 Java继承的概念

一、继承的概念我们之前说了面向对象的三大特征是封装、继承、多态,今天我们来看继承的概念。所谓的继承就是在原有的代码结构上扩充新的功能,继承解决的是代码的重复的现象,本次课为了方便讲解,后面的类中的属性就暂时不使用private封装。DEMO:观察问题以上的两个类的代码存在什么问题?发现了类的属性和方法都是重复的,要解决这样的问题最好将这些重复的操作(方法和属性)定义到一个公共的类中,之后如果其他类要使用到这些公共的操作只需要继承这个公共的类即可,这个公共的类被叫做父.

2020-12-22 15:54:52 1172

原创 Java字符串相关面试题

一、String类相关的面试题String类型的面试是长久不衰老生常谈的一些经典问题,那么今天我们就来分析分析,看看它究竟有多奇葩?如果你要明白本次课的内容,那么前面的关于String .类我讲过的知识你要看完学完,我曾经说过我的课程的顺序是不能打乱的,因为他们是连贯的知识点。你可能听不懂,因为老师讲解的课程都是偏向深入。1、String str= new String("abcd");实例化 了几个字符串对象?2、String str= "a"+"b";产生几个对象?3、Strin

2020-12-22 11:13:54 177 1

原创 干货:Java中的访问修饰符详解

ava语言提供了很多修饰符,主要分为以下两类:访问修饰符 非访问修饰符修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明:public class ClassName { // ...}private boolean myFlag;static final double weeks = 9.5;protected static final int BOXWIDTH = 42;public static void main(String[] argum

2020-12-19 16:05:20 229 1

原创 java字符串常用方法

一、String 类的常用方法String类型是我们在开发中常见的数据类型,也是我们使用最多的数据类型,String类提供了很多操作字符串的方法,但是我们只要掌握十多个即可,我们可以通过官方api文档学习(不建议使用中文),你要习惯去阅读英文的文档。1、public char charAt(int index)[根据索引取得指定位置上的字符]字符串的索引是0开始计算。2、public b oolean endsWith(String suffix)[判断字符串是否以指定的内.

2020-12-19 10:45:57 192 1

原创 JAVA中String类对象不可以改变

一、String类对象内容不可改变也就是说String类型的字符串的内容--旦声明赋值之后是不可以改变的DEMO:观察代码发现了最后输出的内容是“helloworld!”这与之前的描述不同,其实这里改变的不是原来的字符串的内容,改变的是引用。+通过上面的DEMO发现了最初声明的“hello”并没有改变,改变的是引用。还发现了生成许多没有栈内存指向的对象,这样的对象将会等待GC回收!也说明如果一个String类字符串改变频率较高则会产生大量的垃圾,这样造成内存的耗费从而降低了性能。

2020-12-18 10:16:44 1127

原创 Java详细学习大纲和内容

我整理的Java全套内容学习路线,分为6个阶段(大阶段)第一阶段:java内功心法篇第二阶段:Java武功秘籍(经典框架)第三阶段:Java高级功法(主流框架)第四阶段:Java成神之路第五阶段:项目实战案例第六阶段:面试通关秘籍第一阶段:java内功心法篇java基础语法:基本数据类型、基本数据类型数组和字符串:数组、字符串面向对象一:类/对象、方法、封装面向对象二:继承、抽象类/接口/多态异常处理、内部类的使用:内部类、匿名类、异常处理集合类库:list/.

2020-12-17 14:10:34 424 1

原创 Java字符串的入池

文章内容围绕以下解析:1、字符串的入池2、String 常量池位置3、String 常量池的好处一:字符串的入池当我们使用new关键字实例化字符串对象的时候,会在String常量池中创建对象(String常量池中还不存在要创建的字符串对象的前提下),之后再到堆中创建字符串对象,最后返回的引用是堆内存中对象的地址。如果要求返回的引用变成常量池中的引用,那么要使用intern()方法。DEMO:观察intern()方法当调用字符串的intern()方法的,则判断对象池中.

2020-12-17 11:33:30 424

原创 java实例化字符串两种方式区别

一:实例化字符串对象的两种方式的区别这个知识点是面试中的一个经久不衰的问题,。也是一个比较麻烦的问题,对于许多同学来说也是难点,本次课我们会详细的分析。上次课说了创建字符串对象的两种方式:直接赋值(字面量创建对象)和使用构造方法创建。这两种方式创建的字符串的在内存的分配.上是存在不同的,所以导致我们使用“==”进行字符串比较的时候存在差异。DEMO:字面量创建字符串对象在分析之前你要知道一-点, 如果比较两个对象使用“==”则比较的对象的内存地址。以上输出的结果是true,也就是说s

2020-12-16 10:28:04 153

原创 Java中this关键字在构造方法中的使用——学习笔记

1、this关键字在构造方法中的使用一、this关键字在之前我们知道了在“this.属性名”和“this.方法名()” 的情况下this表示使用该类创建的对象的引用,但是还要一种方式就是this(),这种是在构造方法中才能出现的。DEMO:观察代码以上的代码发现了下一个构造方法在赋值的时候重复了上一个构造方法的所有赋值的代码。此时可以使用this()来实现构造方法之间的调用从而解决重复的代码.DEMO:this关键字解决重复的代码以上使用this()关

2020-12-11 11:08:22 388 1

原创 Java中方法的重载详解(含系统配套视频)

一、方法的概念在之前我们学习了方法的定义,方法实现指定功能的代码块的组合,基本的定义如下:访问修饰符[static]返回值类型[如果不需要返回值使用void]方法名(参数类型参数名,参数类型参数名,参数类型 参数 ...){ //方法体return具体数据;//如果返回值的类型是void则不需要在方法体的最后定义return语句}DEMO:定义一个方法不需要return语句的方法二、方法的重载在开发中很可能在一个类中出现多个功能相似的方法,但是方法的命

2020-12-08 12:00:37 112

原创 七大经典、常用排序算法的原理、Java 实现以及算法分析

0. 前言大家好,我是多选参数的程序锅,一个正在 neng 操作系统、学数据结构和算法以及 Java 的硬核菜鸡。数据结构和算法是我准备新开的坑,主要是因为自己在这块确实很弱,需要大补(残废了一般)。这个坑以排序为开端,介绍了 7 种最经典、最常用的排序算法,分别是:冒泡排序、插入排序、选择排序、归并排序、快速排序、桶排序、计数排序、基数排序。对应的时间复杂度如下所示: 排序算法 时间复杂度 是否基于比较 冒泡、插入、选择

2020-12-08 11:57:57 232

原创 Java中的匿名对象详解

一:匿名对象正常情况下一个对象有堆内存空间和指向堆内存的栈内存空间,如果一个对象只有堆内存空间却没有栈内存指向,这样的对象就叫做匿名对象。DEMO:观察匿名对象其实匿名对象还可以作为方法的实际参数传递。DEMO:匿名对象最为参数匿名对象没有明确的规定说是一定要在某些地方使用,如果非要给出一个规定那么可以这样认为:如果一个对象你预计在整个程序中只使用一次则可以声明为匿名对象。DEMO:观察字符串匿名对象如果直接写上一个字符串就是一个匿名字符串对象。我们还可以调用字符串匿

2020-12-07 16:53:31 719

原创 Java的静态方法和实例方法详解

一:静态方法其实在我们第一天学习java的时候就使用了静态方法,主方法的就是一个静态方法,静态方法和静态属性一样使用static修饰。DEMO:定义静态方法发现了可以使用“类名.方法名()”的方式访问静态方法,但是不能使用这种方式访问普通方法,所以我们说静态方法又叫做类方法,普通的方法只能先实例化对象之后使用“对象名.方法名()”的方式访问,所以我们把普通方法又叫做实例方法(因为它依赖于实例对象存在)。DEMO:观察代码不能从静态上下文环境中使用this关键字(无法从一个静.

2020-12-07 10:13:49 1187 1

原创 Java静态变量和实例变量

一、静态变量在之前我们学习了变量可以分为局部变量(方法中定义的)和成员变量(成员变量是在类中定义的),其中成员变量又可以细分为两种:静态变量和实例变量。静态变量是使用static 修饰的成员变量(属性)就是静态变量,静态变量保存在一块共享空间(方法区),这个区叫做全局数据区,保存在这个区的数据是共享的。,到目前为止我们见过了哪些内存空间啊?堆、栈、方法区(保存static修饰的变量或者方法信息)DEMO:观察代码 package com. bai . demo;public cla

2020-12-05 13:45:51 335

转载 Java中常量池的详细理解与总结

一.相关概念 什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着是用于存放常量的常量池,由于常量的数量是不固定的,所以常量池的入口放置一个U2类型的数据(consta

2020-12-04 12:09:57 200

原创 阿里开发手册之ArrayList正确操作方式

[强制]不要在foreach循环里进行元素的remove/add操作。remove 元索请使用 Iterator方式,如果并发操作,需要对Iterator对象加锁。正例: ist<String> list = new ArrayList<>0; list,add("1); listadd(C2"; Iterator<String> iterator = listiterator0); while (iterator. hasN

2020-12-02 17:37:09 144

原创 Java中的this关键字的使用

一,表示类中属性1,没有使用this的情况class Person{ // 定义Person类 private String name ; // 姓名 private int age ; // 年龄 public Person(String name,int age){ // 通过构造方法赋值 name = name ; age = age ; } public S.

2020-12-02 11:19:15 250

原创 Java封装的概念详解

一:封装的概念Java是一门面向对象的语言,面向对象就是一种以组件化模式进行代码开发的思想,面向对象的理解你需要学完整个课程才会有感觉,面向对象有三个基本特征:封装、继承、多态。今天学习的是封装,封装是一个非常广泛的概念,小到一个属性的封装,大到一个框架或者一个项目的封装,比如说我们后面学习的框架就是第三方封装好的api ( Application Programming Interface) 。今天我们看封装的最小概念(属性的封装)。DEMO:观察代码 package com. b

2020-12-01 14:43:11 686

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除