Java学习
文章平均质量分 73
WWtianxiang
这个作者很懒,什么都没留下…
展开
-
HPPT简介
HTTPHTTP请求请求方法HTTP响应状态码超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议。HTTP请求HTTP请求报文由3部分组成(请求行+请求头+请求体):这三个部分的内部详情:例子:请求方法GET : 从服务器获取POST:向服务器提交DELETE:删除资源PUT: 更新资源常用的是GET和POST,GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连;POST把提交的数据则放原创 2022-03-27 14:49:11 · 6011 阅读 · 1 评论 -
Git教程
Git的作用用于对文档或代码进行版本管理。由Linux之父Linus用两周时间开发完成。Git是分布式版本控制系统:所有版本信息仓库全部同步到本地的用户,可以在本地查看所有历史版本;可以在本地离线提交,只需联网时Push到相应的服务器或其他用户那里。因为每个用户保存的都是所有数据,只要一个用户的设备没有问题就可以恢复所有数据。Git基本理论Git本地有三个工作区域:工作区(working directory)项目代码所存放的本地文件夹暂存区(stage)临时存放你的改动,事实上只原创 2022-01-23 15:22:30 · 624 阅读 · 0 评论 -
Java 泛型
什么是泛型泛型是一种未知的数据类型,当我们不知道使用什么数据类型时,可以使用泛型。泛型也可以看成是一个变量,用来接收数据类型E e Element 元素T t Type 类型ArrayList集合在定义时不知道集合中会存储什么类型的数据,所以类型使用泛型 E :未知数据类型public class ArrayList<E> { public boolean add(E e){} public E get(int index){}}创建集合对象的时候,就会确定泛型的数据类型原创 2020-07-07 16:16:47 · 114 阅读 · 0 评论 -
java.util.Iterator
java.util.Iterator接口:迭代器(对集合进行遍历)有两个常用方法boolean hasNext() 判断集合中还有没有下一个元素,如果仍有元素可以迭代,则返回trueE netx()返回迭代的下一个元素。Iterator迭代器是一个接口,无法直接使用,需要使用Iterator接口实现类对象,获取实现类的方式比较特殊Collection接口中有一个方法叫 iterator(),这个方法返回的就是迭代器实现类对象迭代器的使用步骤使用集合中的方法 iterator()获取原创 2020-07-03 16:14:58 · 693 阅读 · 0 评论 -
Java集合
集合目标:会使用集合存储数据会遍历集合,把数据取出来掌握每种集合的特性集合框架的学习方式:1、 学习顶层:学习顶层接口/抽象类中共性的方法,所有子类都可以用2、使用底层,顶层中不是接口就是抽象类,无法创建对象使用,需要使用底层的子类创建对象使用。Collection接口定义的是所有单列集合中共性的方法所有的单列集合都可以使用共性方法没有带索引的方法包括 List接口 、 Set接口List接口有序的集合(存储和取出元素顺序相同)允许存储重复的元素有索引,可以使用普通的f原创 2020-07-01 17:16:48 · 112 阅读 · 0 评论 -
object中的equals方法
object中的equals方法object 类 equals 方法源码public boolean euqals(Object obj) { return (this == obj)}参数: Object obj :可以传递任意对象方法体: == :比较运算符,返回一个布尔值 基本数据类型:比较的是值 引用数据类型:比较的是两个对象的地址值this是谁? 哪个对象调用的方法,方法中this就是那个对象obj是谁? 传递过来的参数 ...原创 2020-06-17 15:55:29 · 899 阅读 · 0 评论 -
四种权限修饰符
Java中的四种权限修饰符 public > protected > (default) > private同一个类 YES YES YES YES同一个包 YES YES YES NO不同包子类 YES YES NO NO不同包非子类 YES NO原创 2020-06-15 10:27:48 · 103 阅读 · 0 评论 -
Java之final关键字
final关键字代表最终、不可改变的。常见四种用法:可以用来修饰一个类可以用来修饰一个方法还可以用来修饰一个局部变量还可以用来修饰一个成员变量原创 2020-06-15 10:16:13 · 422 阅读 · 0 评论 -
对象的向上转型与向下转型
对象的向上转型,其实就是多态写法格式:父类名称 对象名 = new 子类名称();含义:右侧创建一个子类对象,把它当作父类来看待使用。Animal annimal = new Cat();创建一只猫,当作动物看待,没问题注意事项:向上转型一定是安全的,从小范围转向了大范围,向上转换成为更大范围的动物。类似于:double num = 100; 正确 int–>double,自动类型转换向上转型后,将不能使用子类中特有的方法对象的向下转型,其实是一个【还原】的动作原创 2020-06-04 13:07:02 · 192 阅读 · 0 评论 -
详解Java中的接口interface
什么是接口接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的 抽象方法如何定义一个接口public interface 接口名称 { //接口内容}备注:换成了关键字interface之后,编译器生成的字节码文件仍然是 .java——> .class如果是Java7,那么接口中可以包含的内容有:1、常量2、抽象方法如果是Java8,还可以额外包含有:3、默认方法4、静态方法如果是Java9,还可以额外包含有:5、私有方法在任何版本的Jav原创 2020-06-03 17:45:59 · 173 阅读 · 0 评论 -
详解Java中的多态
如何体现多态性父类引用指向子类对象。格式:父类名称 对象名 = new 子类名称();或者接口名称 对象名 = new 实现类名称();多态中的成员变量访问规则看等号左边是谁,就优先用谁的变量,没有则向上找。口诀:编译看左边,运行还看左边。多态中的成员方法访问规则看 new 的是谁,就优先用谁,没有则向上找。口诀:编译看左边,运行看右边。public class MultiMethod { public static void main(String[] args) {原创 2020-06-03 17:37:25 · 126 阅读 · 0 评论 -
接口中常量的定义与使用
定义接口当中也可以定义“成员变量”,但是必须使用public static final关键字进行修饰。从效果上看,这其实就是接口的“常量”。格式:public static final 数据类型 常量名称 = 数据值;注意:一旦使用 final关键字,说明不可改变。 接口当中的常量,可以省略 public static final 注意,不写也照样是这样。接口中的常量必须在创建时赋值。接口中常量的名称使用完全大写的字符,并且用下划线进行分隔。public interface MyI原创 2020-06-03 10:44:50 · 700 阅读 · 0 评论 -
接口中的私有方法
为什么要用接口中的私有方法问题描述:我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题。但是这个共有方法不应该让实现类使用,应该私有化。解决方法:从Java 9开始,接口当中允许定义私有方法1、普通私有方法,解决多个默认方法之间重复代码问题。格式:private 返回值类型 方法名称(参数列表) {方法体}2、静态私有方法,解决多个静态方法之间的重复代码问题。格式:private static 返回值类型 方法名称(参数列表) {方法体}...原创 2020-06-03 10:36:17 · 279 阅读 · 0 评论 -
接口中的静态方法
什么是接口中的静态方法从Java 8 开始,接口中允许定义静态方法。格式:public static 返回值类型 方法名称(参数列表) { 方法体}提示:就是将abstract或者default换成static即可,带上方法体为什么使用接口中的静态方法如果有一种方法只与类有关,比如只与学生有关,小明小红两个学生都使用这个方法,并且不做任何改变,那么这个方法就应该定义成静态方法注意:不能通过接口的实现类的对象来调用接口当中的静态方法。正确用法是:通过接口名称,直接调用其中的静态方原创 2020-06-03 10:20:00 · 1503 阅读 · 0 评论 -
为什么需要接口的默认方法
什么是接口的默认方法在接口定义中,格式如 methodsAbs5() 的方法就是接口的默认方法public interface MyInterface { public abstract void methodsAbs1(); abstract void methodsAbs2(); public void methodsAbs3(); void methodAbs4(); public default void methodsAbs5(){原创 2020-06-03 10:01:39 · 311 阅读 · 0 评论 -
抽象方法与抽象类
抽象方法与抽象类抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。抽象类:抽象方法所在的类,必须是抽象类才行,在class之前写上abstract抽象类不一定含有抽象方法只要保证抽象方法所在的类是抽象类,即可子类必须重写父类中的所有抽象方法,如果不,那么子类必须 也是一个抽象类public abstract class Animal { //这是一个抽象方法,代表吃东西,但具体吃什么不知道(大括号内容不确定) public abstract void eat()原创 2020-06-01 10:42:03 · 217 阅读 · 0 评论 -
this关键字的3种用法
this关键字的3种用法在本类成员方法中,访问本类成员变量在本类成员方法中,访问本类的另一个成员方法在本类构造方法中,访问本类的另一个构造方法在这种方法中this(…)调用必须是构造方法中的第一个语句,super和this两种构造调用不能同时使用...原创 2020-05-29 15:38:23 · 93 阅读 · 0 评论 -
super关键字的3种用法
super关键字的3种用法在子类的成员方法中访问父类成员变量super.变量名在子类的成员方法中访问父类成员方法super.方法名在子类的构造方法中访问父类的构造方法super();或super(参数);原创 2020-05-29 15:31:15 · 336 阅读 · 0 评论 -
Java继承中构造方法的访问特点
Java继承中构造方法的访问特点访问顺序先有父类再有子类,先调用父类的构造方法,再调用子类的构造方法。父类package demoInit;public class Phone { public Phone(){ System.out.println("调用父类构造方法"); }}子类package demoInit;public class NewPhone extends Phone{ public NewPhone(){原创 2020-05-29 15:25:49 · 106 阅读 · 0 评论 -
Java继承中方法的覆盖重写
Java继承中方法的覆盖重写重写(override)与重载(overload)重写:在继承关系当中,方法名称一样,参数列表也一样重载:方法名称一样,参数列表不一样,返回类型可以相同也可以不同。每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。重写的注意事项子类的方法名称与参数列表必须与父类中的一模一样@Override ,写在方法前面,用来检测是不是有效的正确覆盖重写 子类方法的返回值必须小于等于父类方法的返回值范围 java.lang.Object类是所有引用类型的最原创 2020-05-29 15:06:40 · 154 阅读 · 0 评论 -
Java中的继承
Java中的继承格式使用 extends 关键字来实现继承定义父类public class fu { ///}定义子类public class zi extends fu {///} 成员变量访问规则在父子类的继承关系当中,如果子类和父类的某个成员变量重名,则创建子类对象时,有两种访问方式直接访问等号左边是谁就优先用谁的成员变量,没有就向上找。间接访问间接通过成员方法访问变量,该方法属于谁就优先用谁的,没有就向上找。当局部变量、本类成员变量、父类原创 2020-05-29 14:37:31 · 97 阅读 · 0 评论 -
Java之数学工具包Math
Java之数学工具包Math导包Math类是数学相关的工具类,里面提供了大量的静态方法,完成数学运算相关操作。import java.util.Math方法public static double abs(double num) 获取绝对值public static double cell(double num) 向上取整public static double floor(double num) 向下取整public static long round(double num)原创 2020-05-28 15:45:45 · 1727 阅读 · 0 评论 -
Java数组工具类Arrays
Java数组工具类Arrays1、导包java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见的操作。import java.util.Arrays2、toString将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3...])public static String toString(数组)import java.util.Arrays;public class demoArrays { public static vo原创 2020-05-28 15:17:44 · 242 阅读 · 0 评论 -
Java之static关键字
静态变量作用一旦使用了 static 关键字,那么这样的内容不再属于对象自己,而是属于类的,所以凡是本类的对象都共享同一份。举例定义一个Student类,其中教室room是用static修饰的静态变量public class Student { //成员变量 private String name; private int age; static String room; //所在教室 //无参构造函数 public Student(){原创 2020-05-28 14:28:54 · 114 阅读 · 0 评论 -
按指定格式拼接字符串,统计输入字符串中各种字符个数
按指定格式拼接字符串*给定数组{1,2,3},输出[word1#word2#word3]*/public class demoStringPractice { public static void main(String[] args) { System.out.println(getString(new int[] {1,2,3})); } public static String getString(int[] array) { String原创 2020-05-28 10:27:59 · 182 阅读 · 0 评论 -
Java类之String字符串
一、 String字符串字符串的内容不会改变正因为字符串内容不可改变,所以字符串可以共享使用字符串效果上是 char[ ]字符数组,但底层原理是byte[ ]字节数组二、创建字符串的常见3+1种方式3种构造方法public String();创建一个空白字符串,不包含任何内容public String(char[] array);根据字符数组内容创建字符串public String(byte[] array);根据字节数组内容创建字符串例子public class demoSt原创 2020-05-27 17:23:37 · 115 阅读 · 0 评论 -
Java类之ArrayList
类 ArrayList的用法1、为什么用ArrayList?数组长度不可以改变,但是ArrayList集合的长度是可以随意改变的。2、 <E>称为泛型用于表示ArrayList里存放数据的类型装在集合里的元素全部统一是某一个类型 注意:泛型只能是引用类型,不能是基本类型 3、注意事项对于ArrayList来说,直接打印得到的不是地址,而是内容。如果内容是空的,得到的是空的中括号 [ ]4、用法import java.util.ArrayList;//创建一个A原创 2020-05-27 11:22:16 · 95 阅读 · 0 评论 -
引用类型的一般使用步骤
引用类型的一般使用步骤1.导包import 包路径.类名称;如果需要使用的目标类,和当前类位于同一个目录下,则可以省略导包语句不写。只有 Java.lang 包下的内容不需要导包,其它包都需要 import 语句2.创建类名称 对象名 = new 类名称();3.使用对象名.成员方法名()...原创 2020-05-26 11:11:24 · 176 阅读 · 0 评论 -
Java构造方法
构造方法构造方法是专门用来创建对象的方法,当通过关键字 new 来创建对象是,其实就是调用了构造方法。格式:public 类名称(参数类型 参数名称){ 方法体}注意事项:1.构造方法的名称必须和所在类的名称完全一样,大小写也要一样2.构造方法不要写返回值类型,连void也不要写3.构造方法不能return一个返回值4.如果没有编写任何构造方法,那么编译器会默认建立一个构造方法,这个构造方法没有参数、方法体,什么都不做 public Student(){}5.一旦编写了原创 2020-05-25 17:07:14 · 86 阅读 · 0 评论 -
Java中的this关键字
当方法中的局部变量和类的成员变量重名时,根据就近原则优先使用成员变量。如果要访问本类中的成员变量,需要使用:this.成员变量名通过谁调用,谁就是thispublic class Person { String name; public void sayHello(String name){ System.out.println(name + "你好, 我是 " + name); }}public class person { public st原创 2020-05-25 16:11:31 · 118 阅读 · 0 评论 -
Java中的私有成员变量private
使用关键字private修饰的成员变量是私有成员变量私有成员变量在本类中可以随意访问,但超出了类的范围就不能访问了。要想访问私有成员变量,必须定义一对Getter/Setter方法且方法必须以getXxx/setXxx规则命名对于getXxx来说,不能有参数,返回值的类型要与成员变量类型一致对于setXxx来说,不能有返回值,参数类型要与成员变量类型一致对于boolean类型,它的Getter方法必须写成 isXxx 的形式,而 setXxx 规则不变...原创 2020-05-25 15:54:05 · 4329 阅读 · 0 评论 -
Java中的成员变量与局部变量
Java中的成员变量与局部变量的区别1.定义的位置不一样局部变量定义在方法内部成员变量定义在类内,方法外部2.作用的范围不一样局部变量只有在方法内才能使用成员变量可以在整个类中使用3.默认值不一样局部变量没有默认值,使用时必须赋初始值成员变量如果没有赋初始值,会有默认值,规则和数组一样4.内存的位置不一样局部变量位于栈内存成员变量位于堆内存5.生命周期不一样局部变量随着方法进栈而诞生,随着方法出栈而消失成员变量随着对象的创建而诞生,随着对象被垃圾回收而消失原创 2020-05-25 15:24:35 · 152 阅读 · 0 评论 -
Java的内存需要划分为5个部分
1.栈(Stack):存放的是方法中的局部变量。方法的运行一定在栈中局部变量:方法的参数,或者方法内部的变量作用域:一旦超过作用域,立刻从栈内存中消失2.堆(Heap):凡是new出来的东西都在堆当中堆内存里面的东西都有一个地址:16进制堆内存里面的数据都有默认值。规则:如果是整数 默认为0如果是浮点数 默认为0.0如果是字符 默认为‘\u0000’如果是布尔 默认为false如果是引用类型 默认为null3.方法区(Methods Area):存储.class相关信息,包含方法的原创 2020-05-24 14:44:21 · 181 阅读 · 0 评论 -
JAVA基础——基本类型
1.基本数据类型整数类型:byte, short, int, long浮点数类型:float, double字符类型:char布尔类型:boolean不同数据类型占用的字节数不一样,假设一个方框是1字节byte1.1 整型Java只定义了带符号整型,因此最高位的bit表示符号位byte:-128~127short:-32768~32767int: -2147483648 ~ 2147483647long: -9223372036854775808 ~ 9223372036原创 2020-05-18 16:35:21 · 375 阅读 · 0 评论