自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Markdonw基本语法

Java学习:师从狂神!markdown基本语法标题标题分为一级标题、二级标题、三级标题、四级标题、五级标题和六级标题。它们之间会形成目录结构。在markdown的语法中,使用“# 标题名”来表示标题,并根据“#”的数量n来指代n级标题。比如“# 一级标题” 、“## 二级标题”…;为了达到兼容效果,经常在“#”和标题之间打一个空格。# 一级标题## 二级标题### 三级标题…段落语法要创建段落,需要使用空白行将一行或多行文本进行分割。被空白行分割的文本即为段落。强调语法斜体若要

2021-07-31 10:30:56 138

原创 数据结构的三个要素

数据结构的三要素: 一、逻辑结构 二、存储结构(物理结构) 三、数据的运算 其中,逻辑结构指的是数据与数据之间的逻辑关系,逻辑结构有以下四种: (1)数据和数据之间没关系的时候是集合, (2)数据和数据之间是一对一的关系就是线性结构(除了尾数据,其余数据后面只跟着一个元素叫做一对一的关系) (3)数据和数据之间是一对多的关系就是树形结构(一个元素后面可以跟着多个元素,像树干可以有很多枝干一样) (4)数据和数据之间是多对多的关系就是图结构 逻辑结构不涉

2020-10-02 12:57:13 8512

原创 创建多线程的四种方法总结+同步+线程生命周期

实现多线程的第一种方式:继承Thread类步骤:一、写一个类继承Thread类二、重写run()方法,run方法中写此线程执行的代码三、在main方法中new此类对象,调用start方法class MyThread extends Thread{ @Override public void run() { for(int i=0;i<99;i++){ if (i%2==0){ System.out.

2020-09-30 23:51:21 306

原创 System.out.println(字符串类型引用变量)为什么打印的是字符串的内容?不只是因为重写了toString()方法

一、java.io.PrintStream.pinntln(引用类型)的源代码传入一个引用后,会调用String类中的valueOf(Object)方法,假设这个引用时在静态方法区的“hello”的引用。 public void println(Object x) { ////将"hello的内存地址"传给valueOf() String s = String.valueOf(x); if (getClass() == PrintStream.class) {

2020-06-20 16:30:50 756

原创 05-第十五天-JAVASE进阶-内部类

1、什么是内部类内部类:在类的内部定义一个新的类,被称为内部类2、内部类的分类:静态内部类: 类似于静态变量 static class实例内部类:类似于实例变量 没有static的class局部内部类:类似于局部变量 在方法中的内部类3//使用内部类,表示这个Computation 这个类没有名字//这里表面看上去是接口可以直接new了,实际上{}代表了对接口的实现//不建议使用匿名内部类,因为代码太乱而且没有办法重复使class NTest{ static class Inne

2020-06-18 16:13:53 123

原创 04 第十五天-finalize、hashCode

2020-06-18 14:09:09 82

原创 03-第十五天-javase进阶-equals要写彻底

2020-06-18 13:56:39 100

原创 02-第十五天 javaSE进阶-API API帮助文档、toString、equals

什么是API: 应用程序接口(Application Program Interface)整个JDK类库就是一个javase的API每个API都会配置一个API帮助文档SUN公司提前写好的这套类库就是API1、toString()public String toString()返回对象的字符串表示形式。总的来说,这 toString方法返回一个字符串,“以文本方式表示”这个对象toString方法设计目的:通过调用这个方法可以将一个java对象转换为一个字符串另外,输出引用的时候会自动调用

2020-06-18 13:44:05 143

原创 01 第十五天-javaSE进阶-访问控制权限

1 访问控制权限有哪些privateprotectedpublic默认private修饰的变量只能在本类中访问public在哪里都行protected只能在本类以及同包、子类中访问默认表示只能在本类以及同包下访问访问控制符 本类 同包 非同包 非同包下的子类 任意位置public 可以 可以 可以 可以 可以protected 可以 可以 不行 可以

2020-06-18 11:14:30 101

原创 06-第十四天-javaSE进阶-package和import

关于 package 和import的机制package是java中的包机制,包机制的作用是为了方便程序的管理。不同功能的类分别存放在不同的包下package怎么用?package是一个关键字,后面加包名。例如:package com.bjpowernodes.javase.chapter17;注意:package语句只允许出现在java源代码的第一行包名的命名规范:一般都采用公司域名倒序的方式公司域名倒序+项目名+模块名+功能名对于带有package的java程序如何编译?怎么运行?

2020-06-17 17:14:20 107

原创 05-第十四天-javaSE进阶-抽象类和接口的区别?

语法区别:抽象类是半抽象的,接口是完全抽象的抽象类中有构造方法,接口中没有构造方法接口和接口之间支持多继承。类和类之间只能单继承一个类可以同时实现多个接口,一个抽象类只能继承一个类(单继承)接口中只允许出现常量和抽象方法(抽象类可以出现变量和非抽象方法)以后接口使用的比抽象类多。接口一般都是对“行为”的抽象...

2020-06-17 16:45:06 93

原创 04-十四天-java进阶-is a 、like a、

is a:cat is a Animal凡是满足 is a的表示继承关系A extends B;has a:I has a pen凡是能够满足 has a关系的表示 关联关系,关联关系通常以属性的形式存在A{B b;}like a:cooker like a FoodMenu(厨师像一个菜单一样)凡是满足like a关系的表示实现关系实现关系通常是类实现接口A implements B{}...

2020-06-17 16:40:38 150

原创 03-十四天-javaSE进阶-接口的例子

菜单是个接口,实现接口的是厨师,厨师有中餐厨师和西餐厨师(顾客有菜单,菜单是属性)任何一个接口都有调用者和实现者接口可以将调用者和实现者解耦合调用者面向接口调用实现者面向接口编写实现这个例子把厨师和顾客解耦合了。项目组可以先定义好接口,然后一些人写customer,一些人写AmericaCooker,一些人写ChianCooker,一些人写Test,这样编码效率就大大提高。其中最难的其实是接口的编写。顾客类public class Customer{ private FoodMenu fo

2020-06-17 16:34:30 164 1

原创 02 第十四天-javaSE进阶-接口在开发中的作用类似于多态的作用

多态的作用:面向抽象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力publiv class Master{ public void feed(Dog d){} public void feed(Cat c){} //假设又要养其它的宠物,那么这个时候需要再加一个方法(需要改代码) //这样扩展力太差了,违背了OCP原则(对扩展开放,对修改关闭)}public class Master{ public void feed(Animal a){ //面向Animal父类编程,父类

2020-06-17 16:18:04 132

原创 01第十四天-javaSE进阶-接口

interface Animal{ void a(int ab); }class dog implements Animal{// 错误: dog不是抽象的, 并且未覆盖Animal中的抽象方法a(int)}重写/覆盖/实现 关于接口类和方法的继承和覆盖通常称为实现10、一个非抽象的类,实现接口的时候,必须将接口中所有方法加以实现(如果一个抽象的类,实现接口的时候,就不需要将方法加以实现,因为继承的抽象类只能在抽象方法中)。11、一个类可以实现多个接口。(实现:implement

2020-06-17 11:47:34 165

原创 第十三天-javaSE进阶-接口

1、接口是一种“引用数据类型”。2、接口是完全抽象的。(抽象类是半抽象)3、接口怎么定义:[修饰符列表] interface 接口名{}(接口编译之后也是class文件)4、接口支持多继承。(interface C extends A,B{})5、接口中只有常量+抽象方法。(接口的方法不能带有方法体,不能有{}大括号)6、接口中所有的元素都是public修饰的7、接口中抽象方法的public abstract可以省略。8、接口中常量的public static final可以省略。9、接口中

2020-06-17 08:26:52 88

原创 第十三天-javaSE进阶-抽象类

为什么要有抽象类?因为类与类之间也有共同的特征,所以可以再归为一类。第一:抽象类怎么定义?在class前添加abstract关键字就行了。第二:抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。第三:final和abstract不能联合使用,这两个关键字是对立的。第四:抽象类的子类可以是抽象类。也可以是非抽象类。第五:抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法是供子类使用的。第六:抽象类中不一定有抽象方法,抽象方法必须出现在抽象类中。第七:抽象方法怎么定义?p

2020-06-17 08:25:07 185

原创 第十三天-javaSE进阶-final关键字

1、final修饰的类无法继承final修饰的类表示最终的类,所以不能有子类2、final修饰的方法final修饰的成员方法无法覆盖3、final修饰的变量只能赋一次值。3.1 final修饰的引用变量一旦指向某个对象,则不能再重新指向其它对象,但该引用指向的对象内部的数据是可以修改的。3.2 final修饰的实例变量必须手动初始化,不能采用系统默认值。(或者在构造方法里手动赋值,系统不负责赋默认值)final修饰的实例变量一般和static联合使用,称为常量。(实例变量既然使用final

2020-06-17 08:21:45 91

原创 05 第十二天-0基础自学java-super内存图分析

super表示的是当前对象的父类型特征,而不是父类对象。假设子类也有一个同名属性1、this.和super.大部分情况下都是可以省略的。2、this.什么时候不能省略?this.name=name;3、super.什么时候不能省略父类中有一个属性,子类也有这样的属性时,如果想在子类中访问“父类特征”,super.不能省略4、5、super调用父类方法...

2020-06-14 11:25:11 123

原创 04 第十二天--0基础自学java-super(实参)时的内存图分析

就是继承了父类的一些特有基因,这些基因一般不能读写,但是能通过super(实参)来读写

2020-06-14 11:09:19 140

原创 03 第十二天-0基础自学java-super(实参)来构建父类对象读写private实例变量

public class superTest{ public static void main(String [] args){ People p=new People(171);//虽然Tall是private,但是传入实参后,在对象堆内存中赋值。 //System.out.println("身高:"+p.Tall);// 错误: Tall 在 People 中是 private 访问控制,private只能在本类中使用 LiRui L=new LiRui(160); System.ou

2020-06-14 10:51:03 208

原创 02 第十二天- 0基础自学java-super概述

1、super是一个关键字,全部小写2、super和this对比学习this回顾this:能出现在实例方法中和构造方法中this的语法:this. this()this不能使用在静态方法中this.大部分情况下是可以省略的。this.在区分局部变量和实例变量的时候不能省略比如public void setName(String name){this.name=name;}this()只能出现在构造方法第一行,通过当前的构造方法调用本类中其它的构造方法,目的是代码复用。super概述

2020-06-14 10:15:50 155

原创 01 第十二天-0基础自学java-静态方法不存在方法覆盖,私有方法不能覆盖、方法覆盖的返回值

静态方法不存在方法覆盖静态方法的执行可以用“引用.”的方式来调用虽然可以用引用的方式调用,但是和对象无关由上节知道,多态是编译期和运行期不同的状态,运行期的不同于编译期的状态是由对象实现的。所以静态方法不存在多态,静态方法的方法覆盖没有意义。方法覆盖通常和多态联合起来使用public class OverrideTest05{ public static void main(String [] args){ Animal a=new Cat(); a.doSome(); //Cat的d

2020-06-14 09:25:49 169

原创 03 第11天 -0基础自学java-多态的练习题

/* 编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。 可以弹奏的乐器包括二胡、钢琴和琵琶/ 实现思路及关键代码: 1)定义乐器类Instruments,包括方法makeSound() 2)定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin 3)定义乐手类Musician,可以弹奏各种乐器play(Instrument i) 4)定义测试类,给乐手不同的乐器让它弹奏。 */ public class Work{ public static voi

2020-06-14 08:30:54 284

原创 03 第十一天 0基础自学Java-多态在开发中有什么作用

1、多态在开发中有什么作用?降低程序的耦合度,提高程序的扩展力public class Master{ public void feed(Dog d){} public void feed(Cat c){}} 以上的代码表示:Master和Dog以及Cat的关系很紧密,耦合度高,导致扩展力差public class Master{public void feed(Pet pet){}}以上的代表中表示:Master和Dog以及Cat的关系就脱离了,Master关注的是Pet类。这样

2020-06-13 21:45:18 113

原创 02 第11天 0基础自学java--多态的基础语法、多态是什么

向上转型、向下转型向上转型:子—》父,(也叫做自动类型转换)向下转型:父—》子,(也叫做强制类型转换,需要加强制类型转换)注意:工作的时候不要说自动/强制类型转换,因为这些术语用于基本数据类型而不是引用数据类型不管是向上转型还是向下转型,都有一个大前提:它们之间存在继承关系public class Test01{ public static void main(String [] args){ Animal a1=new Animal(); a1.move(); Cat c=new

2020-06-13 20:40:13 92

原创 01 第11天 0基础自学java-object类中的方法重载

方法覆盖:就是将继承过来的那个方法给覆盖掉了。当子类对父类的继承过来的方法进行方法覆盖之后,子类对象执行的是覆盖之后的方法。方法覆盖的条件:一、两个类必须有继承关系二、重写之后的方法和之前的方法有相同的方法名、返回值类型,形式参数列表(如果形式参数列表不同,其实形成了方法重载,把主类的代码复制了过来)三、访问权限不能更低,只能更高(先记住)四、重写之后的方法不能比之前的方法抛出更多的异常,可以更少(先记住)注意:1、方法覆盖只针对于方法,和属性无关2、私有方法无法覆盖3、构造方法不能被继承

2020-06-13 17:17:32 129

原创 学致私教笔记day1

1、Scanner()import java.util.Scanner;//写在第一行Scanner input = new Scanner(System.in);//调用构造方法 System.out.println("请输入一个字符串(中间能加空格或符号)"); String a = input.nextLine();//输入字符串并赋值给ainput.nextInt();input.nextDouble();input.Boolean();input.nextShort();无

2020-06-11 22:22:38 345

原创 05 第十天-0基础自学Java-继承

一、什么是继承继承在现实世界中也是存在的,例如:父亲很有钱,儿子不用努力也很有钱二、继承的作用:基本作用:子类继承父类,代码可以得到复用。主要作用:因为有了继承关系,才有了后期方法覆盖和多态机制。三、语法java 中继承的语法格式:class B extends A{类体;}B继承A类,则A类称为父类、超类、基类B类称为子类、派生类、扩展类public class Test13{ public static void main(String [] args){ Account

2020-06-11 16:48:35 101

原创 04 第十天:0基础自学Java 构造方法中this()调用其它的构造方法

2020-06-11 15:26:45 107

原创 03 第十天:0基础学java, this什么时候不能省略

public class Test13{ public static void main(String[] args){ Student s1=new Student(1111,"张三"); System.out.println(s1.num); System.out.println(s1.name); }}class Student{ int num; String name; public Student(){ } public Student(int num,Strin

2020-06-11 11:21:59 175

原创 02 第十天 0基础自学JAVA-静态方法访问静态变量,实例方法访问实例变量(this)

main方法访问实例变量:无法从静态上下文引用非静态变量ipublic class Test12{ int i=10; static int k=100; public static void main(String[] args){ //System.out.println(i);//无法从静态上下文引用非静态变量i System.out.println(k); }}静态方法访问实例变量public class Test12{ int i=10; static int k=

2020-06-11 11:01:03 640 2

原创 01第十天 0基础自学java- this

this:1、this是一个关键字,全部小写2、this是什么,在内存方面是怎样的?一个对象一个this。this是一个变量,是一个引用。this保存当前对象的内存地址,指向自身。所以严格意义上来说,this代表的就是“当前对象”3、this只能使用在实例方法中,谁调用这个实例方法,this就是谁。所以this代表的是:当前对象。4、this.大部分情况下是可以省略的5、为什么this不能用于静态方法中?因为this代表的是当前对象,而静态方法的调用不需要对象。public class T

2020-06-11 10:11:45 82

原创 02第九天 -0基础自学java- 静态方法,实例方法、static静态代码块、实例代码块

静态方法:使用static修饰的方法实例方法:没有static修饰的方法调用静态方法一、“类名.方法名();”二、“引用.方法名();"调用实例方法”引用.方法名();"public class StaticTest04{ public static void main(String[] args){ StaticTest04.doSome();//类名的方式调用静态方法 StaticTest04 s1=new StaticTest04(); s1.doOther();//引用的

2020-06-10 11:33:32 155

原创 01第九天 0基础自学java-static、变量、成员变量中的实例变量和静态变量、内存图、访问静态变量和实例变量

/*1、static翻译为“静态”2、所有static关键字修饰的都是类相关的,类级别的。3、所有static修饰的,都是采用“类名.”的方式访问4、static修饰的变量:静态变量5、static修饰的方法:静态方法变量的分类: 变量根据声明的位置进行划分: 在方法体当中声明的变量:局部变量 在方法体外声明的变量:成员变量 成员变量又可以分为: 实例变量 静态变量 (方法中不能定义静态变量。) */class VarTest{ //以下实例的,都是对象相关的,

2020-06-10 09:53:06 153

原创 第五天

明天离家 返校,故休息一天。

2020-06-06 21:45:50 64

原创 05 第四天 0基础自学java--封装

封装更安全。封装的步骤:1、私有化(private)2、对外部提供一个简单的入口(写一个方法来get,再写一个方法来set)

2020-06-05 17:40:18 79

原创 04 第四天 0基础自学java-- 构造方法的方法重载

构造方法的参数不同(个数,类型)从而形成重载

2020-06-05 17:38:18 75

原创 03 第四天 0基础自学java-类、引用、对象、属性、实例变量、成员变量、构造方法,大总结

类我的理解:类是一群对象共同属性的抽象,把一群对象中的属性和动作抽象出来的产物,所以类中包含着共同的属性。在java中就是public class Dog{ String breed; int age; String color; void barking(){ } void hungry(){ } void sleeping(){ }}类可以看成是创建Java对象的模板。一个类可以包含以下类型变量:局部变量:在方法、构造方法或者语句块中定义的变量被

2020-06-05 17:34:54 117

原创 02第四天 0基础自学java-当成员变量也是个引用时--套娃

public class taowa{ public static void main(String[] args) { B b=new B(); A a=new A(); a.b=b; System.out.println(a.b.i); } }class A{ B b;} class B{ int i;}反正牢记一点:引用存储的是地址。

2020-06-05 16:53:03 88

空空如也

空空如也

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

TA关注的人

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