java基础
大蒜头的季节
这个作者很懒,什么都没留下…
展开
-
Java基础之常见基础面试题解析
== 和 equals 的区别是什么?在没有重写equals的情况下,二者没有区别,因为equals这个方法的底层代码也是用==来比较的。==:比较的是内存地址,如果两个基本数据类型比较,则比较的是两者字面上的值是否相同;如果是引用数据类型,则比较的是两者是否指向同一内存地址;equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:情况1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。情况2:类覆盖了原创 2020-06-02 14:16:02 · 63 阅读 · 0 评论 -
Java基础之final、内部类
final:为了避免子类随意更改父类的内容,Java提供了final关键字,用于修饰不可改变的内容。当final修饰:类:不可以被继承方法:不可以被重写变量:值不可以被更改注意事项:引用类型的局部变量,被final修饰后,只能指向一个对象,后续不可以再更改指向,但是不影响对象内部的成员变量值的修改。成员变量,成员变量有两种初始化的方式:// 显式初始化public class User { final String USERNAME = "张三"; private int a原创 2020-06-02 12:22:33 · 267 阅读 · 0 评论 -
Java基础之接口、多态以及接口和抽象类的区别
接口这里面主要涉及一个版本更新带来的静态方法、默认方法、私有方法,先说概念。概念:接口是Java语言中的一种引用类型,是方法的集合。如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法。JDK1.7及之前是 只有抽象方法JDK1.8 新增默认方法(default)以及静态方法(static)上述的静态和默认方法都可以有方法体,但是只有默认方法可以被继承使用,而静态方法是属于接口的,不可以被子类使用。JDK9 新增私有方法(private)如果原创 2020-06-02 11:02:40 · 633 阅读 · 0 评论 -
Java基础之继承、抽象类
继承概念:就是子类继承父类的属性和方法,使得子类对象具有与父类相同的属性、相同的行为,子类可以直接访问父类中非私有的属性和行为。好处:提高代码的复用性类与类之间产生了关系,是多态的前提。在Java中定义一个不做事且没有参数的构造方法的作用?...原创 2020-06-02 08:49:38 · 394 阅读 · 0 评论 -
Java基础之static详解
知识点汇总static的作用:创建属于该类的成员属性或者方法,而不是属于该类的对象的,以致于可以在不创建该类的实例情况下,调用相应的方法;被static修饰的成员变量、方法被该类的实例对象所共享;随着类的加载而加载,优先于对象存在,而且只有在内存中加载一次,这样有利于优化程序的性能,避免重复的加载一些资源;在static方法中,不能使用this关键字,因为它不是属于哪个对象的;静态的方法只能访问静态的方法或者变量,非静态的既可以访问静态的也可以访问非静态的变量、方法。应用场景:一些只原创 2020-06-01 21:38:53 · 129 阅读 · 0 评论 -
Java基础之String类、Arrays类、Math类
String类字符型常量和字符串常量的区别?字符是用单引号引起来的,而字符串是若干个字符组成的,字符串底层还是字符数组。字符可以看作是整型数字参与运算,其值为ASCII码表对应的数值,而字符串不可以参与运算。字符和字符串占用的内存空间不一样。什么是字符串常量池?字符串常量池位于堆内存中,用来存储字符串常量,提高内存的使用率,避免为同一字符串重复开辟内存空间。在创建一个字符串常量时,JVM会首先检查常量池是否有该常量,如果有则直接返回,如果没有则实例化一个字符串常量然后返回。原创 2020-06-01 20:35:54 · 274 阅读 · 0 评论 -
Java基础之常用的API
Scanner类 Scanner s = new Scanner(System.in);// 从控制台获取 String str = s.next();// 获取输出的字符串 int a = s.nextInt(); // 获取输出的数字Random类 Random r = new Random(); int a = r.nextInt(10)+1;// 表示生成一个[0,10)的随机整数,加上1就包括10了。原创 2020-06-01 17:10:30 · 81 阅读 · 0 评论 -
Java基础之类与对象、封装、this、super
面向对象概念:面向对象它区别于面向过程,强调的是通过调用对象的行为来实现功能,而不是自己一步步的去操作实现。特点:面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成一个指挥者,其实面向对象的底层还是面向过程,只不过这种思想将事物模型化了,一个事物就好比一个盒子,里面有属性、方法,我只需要来调用这个模型去解决问题即可,至于里面的具体过程是如何实现的,无须关心。面向对象和面向过程各自的优缺点面向过程优点:比面向对象性能高,因为它省去了对象实例化的一个过程,在有些原创 2020-06-01 16:31:43 · 100 阅读 · 0 评论 -
Java基础之数组
概念:数组就是存储数据长度固定、数据类型一致的容器。JVM内存划分:寄存器:给CPU使用,和我们开发无关;本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关;方法区:存在可以运行的class文件,以及存储类的方法;堆内存:存储对象或者数组,new出来的对象都存储在堆内存;方法栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行。一个程序执行的流程:public static void main(String[] args) { int[] arr = new int原创 2020-06-01 14:57:25 · 75 阅读 · 0 评论 -
Java基础之Idea工具的快捷键以及Java方法
知识点汇总快捷键Alt+Enter 导入包,自动修正Ctrl+Y 删除光标所在行Ctrl+D 复制光标所在行的内容,插入光标位置下面Ctrl+Alt+L 格式化代码Ctrl+/ 单行注释Ctrl+Shift+/ 自动生成代码,toString,get,set等方法Alt+Shift+上下箭头 移动当前代码行方法方法的重载和方法的重写:方法的重载和重写都是实现多态的方法,只不过前者是编译时的多态,后者是运行时的多态。重载: 发生在同一个类中原创 2020-06-01 13:11:46 · 108 阅读 · 0 评论 -
Java基础之流程控制语句要点
知识点汇总流程控制语句有以下几种ifif … elseswitchforwhiledo…while这些基本的语法就不说了,说几个要点。switch() 可以接收的数据类型byte字节类型short短整型int整型String字符串char字符就以上这几种,数字类型里面记住long类型是不可以的,还有每个case语句都加break。for和while的小区别for控制条件语句所控制的那个变量,在for循环结束后,就不能再访问到了;而while循环结束还可以继续使用,原创 2020-06-01 12:30:17 · 95 阅读 · 0 评论 -
Java基础之数据类型转换
知识点汇总Java程序要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。自动类型转换:将取值范围小的类型自动提升为取值范围大的类型。int a = 1;byte b = 2;byte c = a + b;// 报错,类型不匹配在最后一个运算中,a+b的结果为int类型,取值范围大于用于接收的byte类型,所以报错。强制转换:将取值范围大的类型强制转换为取值范围小的类型。int a = (int)1.5;short s = 1;s = s +原创 2020-06-01 11:39:59 · 65 阅读 · 0 评论 -
Java基础之入门、变量
知识点汇总:每一个0或者1,叫做一个bit(比特);字节是我们常见的计算机中最小存储单元。计算机存储任何的数据 ,都是以字节的形式存储8个bit表示为1个字节,写成1byte或者1B;常见的DOS命令(win+r打开终端)盘符切换命令: D:或者C:进入相应硬盘查看当前文件夹: dir进入文件夹命令: cd文件夹名退出文件夹命令:cd …退出到磁盘根目录:cd \(win10)清屏:clsJava虚拟机概念:运行所有jaca程序的假想计算机,是java程序的运行环境原创 2020-06-01 10:33:40 · 72 阅读 · 0 评论