- 博客(30)
- 收藏
- 关注
原创 27.异常处理机制
异常1. 异常的基本概念观察以下代码:public class ExceptionTest01 { public static void main(String[] args) { int a = 100; int b = 0; int c = a / b;//java.lang.ArithmeticException: / by zero System.out.println(c); }}显然,b=0作为除数时,系
2021-05-31 14:58:23
259
原创 26.枚举ENUM
Enum类1.为什么需要枚举?先看一个例子,不用枚举有什么缺点?package com.bjpowernode.javase.enum2; // 标识符,关键字不能做标识符。enum是关键字。/*这个案例没有使用java中的枚举,分析以下程序,在设计方面有什么缺陷? 以下代码可以编译,也可以运行。这些都没有问题。 就是设计上你觉得有什么缺陷? */public class EnumTest01 { public static void main(String[] ar
2021-05-31 14:53:31
134
原创 23.日期类
JAVA 对日期的处理1. Date类java.util下有个Date类,通过该类可以获取系统当前时间!The class Date represents a specific instant in time, with millisecond precision.(毫秒级精度)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5cGZtUOj-1620744696728)(F:\JAVA_learning\动力节点——md笔记\24.日期\1.png)]Date类中
2021-05-11 22:51:44
144
原创 24.数字类
1. DecimalFormat类DecimalFormat类是 java.text包下的数字相关类DecimalFormat is a concrete subclass of NumberFormat that formats decimal numbers. It has a variety of features designed to make it possible to parse and format numbers in any locale, including support fo
2021-05-11 22:51:16
170
原创 22.包装类学习
包装类Java中为8种基本数据类型又提供了8种包装类型,8种包装类是引用数据类型,它们的父类都是Object。思考:为什么要提供8种包装类呢?1.为什么要提供8种包装类呢?因为在多态的使用场景下,Object类型不能接收基本数据类型参数。也就是说8种基本数据类型不够用,所以SUN公司提供了8种包装类型。思考:什么情况下基本数据类型 “不够用 ”呢 ?比如,有些需求需要我们的引用数据类型参数接收一个基本数据类型,此时不对基本数据类型进行包装的话,无法直接传递!举个例子:public class
2021-05-11 22:49:48
107
原创 21.String类及其常用方法,StringBuffer and StringBuilder
String类学习1.String字符串的存储原理String表示字符串类型,属于引用数据类型,不是基本数据类型。在Java中,用“”双引号括起来的都是String对象,例如“abc”, "aaa"就是两个字符串对象;Strings are constant; their values cannot be changed after they are created. JAVA中规定,双引号括起来的字符串对象一旦创建后就是常量,是不能改变的。JAVA中双引号括起来的字符串对象是存储在方法区的字
2021-05-11 22:41:57
234
原创 20.2 二维数组
二维数组1.二维数组的声明与创建package com.bjpowernode.javase.array;/*关于java中的二维数组 1、二维数组其实是一个特殊的一维数组,特殊在这个一维数组当中的每一个元素是一个一维数组。 2、三维数组是什么? 三维数组是一个特殊的二维数组,特殊在这个二维数组中每一个元素是一个一维数组。 实际的开发中使用最多的就是一维数组。二维数组也很少使用。三维数组几乎不用。 3、二维数组静态初始化 int
2021-05-11 22:40:18
638
原创 20.1 一维数组
数组学习:1.数组的特点数组是引用数据类型,所以数组对象(动态初始化使用new关键字)是存放在堆内存中的。数组的父类是Object。数组实际上是一种容器,可以存储一组数据。既可以存储基本数据类型,也可以存储引用数据类型。数组中存储 Java对象时,存储的是实际对象的引用(在堆内存中的地址),而不是具体的对象。数组不能直接存储实际对象。数组一旦创建(不管是静态初始化还是动态初始化),其长度就不能再改变。数组分为:一维数组,二维数组,多维数组…数组对象自带length属性,数组名.length返回
2021-05-11 22:39:41
533
原创 19.内部类
内部类:1. 什么是内部类?在类的内部,又定义了一个新的类,该类被称为内部类。2.内部类的分类静态内部类类似于静态变量,通过static修饰实例内部类类似于实例变量局部内部类局部内部类是定义在方法内部的,出了这个方法就释放了,不能再访问类似于局部变量public class Test01{ //静态内部类 public static class A{//可以加任何修饰符 } public static void main(String[] args){ }
2021-05-11 22:37:24
63
原创 18.Object类及其常用方法
Object类的学习**引言:**Object类作为所有类的超类,有一些方法是值得研究的。因为这些方法是所有子类都继承了的。(任何一个子类,都会直接或间接继承Object类)此外,有两种方法查看常用类的常用方法:查看Sun公司写的源码通过API帮助文档什么是API?Application Program Interface应用程序编程接口整个JDK的类库就是一个Java SE的API。每一个API都会配置一套API帮助文档1. Object类中有哪些常用方法?protected O
2021-05-11 22:36:03
142
原创 17.访问权限修饰符
访问权限修饰符:1. 有哪些访问权限修饰?一共四个privateprotectedpublic默认//什么都没有2.各个访问权限修饰符的控制范围?private修饰的是私有的,只允许在本类中访问。同一包下:(private只要不是同一个类就不能直接访问)package com.study;public class User{ //私有 private int age; //受保护的 protected int weight; //公开的 public String
2021-05-11 22:26:01
179
原创 16.包机制
package和import机制**疑问:**前面写的代码都是在同一个文件夹中,同一文件夹下访问其他类时可以直接通过文件名即类名访问(比如说我在测试类下可以直接创建一个Customer类型的对象,显然Customer和Test是两个文件)。但是不同文件夹下,还可以通过类名直接进行访问吗?**不可以!**此时,HelloWorld.java在另一个文件夹下,所以我们需要后面的import机制。public class Test01{ public static void main(String[] a
2021-05-11 22:25:05
178
原创 单链表学习
链表1.单链表1.单链表的定义1.逻辑结构线性表的链式存储方式2.物理结构有无头结点;链表是以结点的方式链式存储的,结点有数据域和指针域;内存中各结点不一定是连续存储的;2.单链表的常见操作要想创建单链表,首先要定义结点类,结点类的对象就是一个结点:实际的结点类:class Node{ //数据域 int no; String name; String nickName; //指针域,指向下一个结点。在Java中,下一结点就是另一个结点
2021-04-26 19:45:51
169
原创 15.接口的语法基础
接口的语法基础:1.接口的数据类型接口也是一种引用数据类型,其编译后生成的也是class文件。2.接口是完全抽象的,是特殊的抽象类抽象类是半抽象的,抽象类中还可以有具体的实例方法。但是,接口中只存在抽象的方法!3.抽象类的定义方式:public class Test01{ public static void main(String[] args){ }}interface A{ }4.接口支持多继承一个接口可以继承多个接口!public class Test02{
2021-04-16 22:29:48
210
原创 14.抽象类
抽象类1. 什么是抽象类?类和类之间存在共同特征,将这些共同特征提取出来,就进一步抽象的到抽象类,由于类本身是不存在的,所以抽象类无法创建实例对象![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWKHAZds-1618583327083)(C:\Users\15195891836\AppData\Roaming\Typora\typora-user-images\image-20210416161352141.png)]2. 抽象类属于什么数据类型?显然是引用类型
2021-04-16 22:29:09
116
原创 13.final关键字
finial关键字1.final修饰的类无法被继承public class FinalTest01{ public static void main(String[] args){ }}final class A{//A类被final修饰 }//错误: 无法从最终A进行继承class B extends A{ }[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2yTboRwo-1618583294368)(C:\Users\151958918
2021-04-16 22:28:37
74
原创 12. super关键字
super关键字:首先回顾一下this关键字,对比学习:this是一个引用变量,,其中存放了当前对象在堆内存中的地址,代表当前对象。1.this关键字:this关键字能使用在实例方法和构造方法中,不能在静态方法中使用。this的语法:this. this()this什么时候不能省略?this(实参列表)只能出现在构造方法的第一行,表示调用本类的其他构造方法。2.super关键字:super能出现在实例方法和构造方法中,不能在静态方法中使用。super的语法是:super.
2021-04-16 22:28:07
247
原创 11.方法覆盖细节问题
方法覆盖细节问题:1.方法重写和多态联合起来使用!Animal a = new Animal();a.move();编译时move()方法是Animal的;运行时自动调用实际对象的move()方法;假如只有方法覆盖,没有多态。即引用类型就是对象的实际类型,此时为什么一定要方法重写?我直接重更新定义一个满足子类业务需求的新方法不就行了吗。如果JAVA中不存在多态机制,方法覆盖就不是必须的!!事实上,多态使得开发中父类引用可以指向任意子类,此时在子类中根据不同子类的业务需求对父类中的模板方法进行
2021-04-16 22:27:12
67
原创 10.多态在开发中的作用
多态在开发中的作用:从一个简单的作业题来体现:不使用多态机制public class Master{ //在不使用多态机制时,假如宠物为狗,呢么形参应该是Dog类型 public void feed(Dog d){ } //当宠物变成猫时,不适用多态机制只能添加代码 public void feed(Cat c){ }}/*注意这里的分析: 主人起初的时候只喜欢养宠物狗狗 随着时间的推移,主人又喜欢上养“猫咪” 在实际的开发中这就表示客户产生了新的
2021-04-16 22:26:43
337
原创 9.多态的语法基础
多态的语法基础:1.什么是向上转型和向下转型!向上转型和向下转型只针对具有继承关系的类而言,没有继承关系的两个类进行转型编译器会报错1.向上转型(自动类型转换)即:父类的引用指向子类的对象子---->父2.向下转型(强制类型转换)需要强制类型转换符才能实现转换。2.什么是多态?顾名思义:多种形态,多种状态!多态的基本语法是父类的引用指向子类的对象!!!Animal a = new Dog();多态分为编译阶段和运行阶段。对于上述代码:编译阶段:编译器对于引用变量a会自动
2021-04-16 22:26:03
184
原创 8.方法覆盖
方法覆盖:1.什么时候考虑方法覆盖?当子类继承父类的方法无法满足子类的业务需求时,子类有必要对继承过来的方法进行重写!2.什么条件下形成方法覆盖?两个类要有继承关系存在。子类中的方法和父类中的方法有相同的返回值类型,相同的方法名,相同的形式参数列表。访问权限不能更低。抛出的异常不能更多。public class OverrideTest01{ public static void main(String[] args){ Cat cat = new Cat(); cat.
2021-04-16 22:25:22
118
原创 7.继承
继承:1. 什么是继承?有什么用?继承用extends修饰,形成继承关系。继承的作用:基本作用:子类继承父类,代码得到复用重要作用:有了继承关系才有方法的重写和多态机制。2.继承的六个特性1. B类继承A类,则A类称为superclass(超类/父类/基类),B类称为subclass,称为派生类,拓展类,子类。2. JAVA中只有单继承,没有多继承。以下代码错误:class A extends B,C{ }3. JAVA中虽然没有多继承,但是存在间接继承关系c
2021-04-15 15:04:29
150
原创 6.继承之前的总结
小总结:到目前为止一个类中有哪些变量public class 类名{ 实例变量; 实例方法; 静态变量; 静态方法; 构造方法; 静态代码块; 实例代码块;}/* 到目前为止一个类当中可以出现的: 类体{ 实例变量; 实例方法; 静态变量; 静态方法; 构造方法; 静态代码块; 实例语句块; 方法(){ // 局部变量 int i = 1
2021-04-15 15:03:48
39
原创 5.This关键字
This关键字:在讲述之前,强调一下重点:类中的变量一定要看清是实例变量还是静态变量:实例变量只能通过“引用.”的方式去调用。静态变量一般通过“类名.”的方式去调用实例方法和静态方法调用同上。1.this是个关键字public class ThisTest01{ //this关键字 String name; public void f(){ System.out.println(name); //System.out.println(引用.name); }}观
2021-04-15 15:02:59
119
原创 3.封装
封装1.什么是封装?有什么用?封装:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。那么思考一下:不封装,程序会有什么缺点?代码如下:年龄怎么能是负数?所以不进行封装的age
2021-04-15 14:56:49
88
原创 2.构造方法
构造方法1.为什么需要构造方法?因为使用new关键字创建对象的本质是调用constructor(构造器)在堆内存中开辟内存空间来实例化对象。Student s1 = new Student();//注意是 Student(),是一个方法名2.怎么定义构造方法?[修饰符列表] 构造方法名(){ //方法体}其中,1. 构造方法名必须和类名一致2. 系统会默认产生一个无参构造方法(缺省构造器)3.当定义了有参数的构造方法时,要使用缺省构造器必须显式定义4.无参数的构造
2021-04-15 14:56:05
108
原创 1.属性是引用类型怎么访问?
属性是引用类型怎么访问?1.什么是引用?简单来说,引用是一个变量,该变量中存放了堆中创建的对象在堆内存中的地址,在对象实例化后可以通过引用.属性名(或方法名的方式)访问对象的属性和方法。2.引用变量一定是局部变量吗?显然不是,举个例子public class Student{ int id; Study message//这个实例变量是Study类型的 public ststic void main(String[] args){ Study mes = n
2021-04-15 14:54:49
356
原创 4.Static关键字
static关键字1.详解static翻译为静态。所有static修饰的都是类相关的,和类一起加载。所有static修饰的都采用”类名.“的方式访问。static修饰的变量:静态变量static修饰的方法:静态方法2.变量的分类根据作用域的不同,分为:定义在方法中的称为局部变量。定义在方法外部的称为成员变量。成员变量中,带static修饰的称为静态变量(类变量),不带static修饰的称为实例变量!public class StaticTest01{ //成员变量中的实例变
2021-04-07 09:32:45
101
原创 第一次使用markdown写博客
Markdown 语法学习文件创建方法创建记事本文件后,将后缀改成 .md 格式标题一级标题语法为 #空格+标题名称二级标题语法为 #空格+标题名称字体选中后右键进行设置快捷键 ctrl+b(加粗)…hello,worldhello,world引用选择JAVA,走向人生巅峰方法:>+空格分割线实现方法:三个-,即—或者***图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ciQ8B69k-1615358659260)
2021-03-10 14:47:24
96
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人