知识
小白白成长记
这个作者很懒,什么都没留下…
展开
-
解决Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these envir
在安装tomcat并且环境变量检查无误之后启动startup.bat时闪退,使用命令窗口提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program错误。解决方法:打开 tomcat 的 bin 目录下的 catalina.bat在文件加入set JAVA_HOME=C:\原创 2021-02-01 12:27:50 · 2254 阅读 · 0 评论 -
初始化二维数组,读改和遍历
二维数组的读和改a[二维数组中的一维数组的下标][一维数组的下标]a[0][0]表示第一个一维数组中的第一个元素a[3][100]表示第4个一维数组中的101元素动态初始化二维数组int[][] array = new int [][]遍历public class ArrayTest02 { public static void main(String[] args) { int[][] a={ {1,2,3},原创 2020-12-16 20:55:54 · 90 阅读 · 1 评论 -
数组的扩容拷贝
一维数组的扩容怎么扩容的?先新建一个大容量的数组,然后将小容量的数组中的数组一个一个拷贝到大数组中一维数组扩容效率比较低。因为涉及到扩容的问题,在开发中尽可能的少进行数组的拷贝最好在创建数组对象的时候预估一下多长合适。public class ArrayTest01 { public static void main(String[] args) { //数组拷贝。 int[] src={1,2,3,4,5,5,6}; //拷贝到这原创 2020-12-16 20:36:25 · 180 阅读 · 2 评论 -
equals和toSring
equals源代码public boolead equals (Obect obj){return(this =obj)}以上这个方法是object类的默认实现。判断两个java对象是否相等,不能使用“”,因为“”比较的是两个对象的内存地址obj中的equals比较的是两个对象的内存地址,需要我们重写tostring方法1、String类已经重写了equals方法,比较两个字符不能使用“==”必须使用equals。equals是通用的。2、String类已经重写了toString方法结论原创 2020-12-14 18:12:24 · 82 阅读 · 0 评论 -
全面深入了解数组
Array 1、java中的数组是一种引用数据类型。不属于基本数据类型。数组的父类是object 2、数组实际上是一个容器,可以同时容纳多个元素。3、数组当中可以存放“基本数据类型”数据,也可以存放“引用数据类型”的数据4、数组因为是引用数据类型,所以数组对象是在堆内存当中。(数组是存储在堆内存中)5、如果数组中存储的是“Java对象的话”,实际上存储的是对象的“引用(内存地址)”6、数组一旦创建,在java中规定,长度不可变。7、数组的分类:一维数组、二维数组、三维数组8、所以的数组对象都原创 2020-12-14 18:10:10 · 119 阅读 · 0 评论 -
深入学习抽象类 interface 和接口abstract 以及它们之间的区别
抽象类1、什么是抽象类类和类之间具有共同的特征,将这些共同的特征提取出来,形成的类就叫抽象类。类本身不存在,所有抽象类无法实例化。2、抽象类属于什么类型?抽象类也属于引用数据类型。3、任何定义一个抽象类语法[修饰符列表] abstract class 类名{类体;}4、抽象类是无法实例化的,无法创建对象,所以抽象类是用来给子类继承的。5、final和abstract不能联合使用。6、抽象类的子类可以是抽象类。7、抽象类虽然无法实例化,但是抽象类有构造方法,这个构造方法供子类使用。原创 2020-12-11 15:13:10 · 85 阅读 · 0 评论 -
super关键字
super是一个关键字,super能出现在实例方法和构造方法中。super的语法是super. super();super不能出现在静态方法上super大部分情况都是可以省略的super只能出现在构造方法的第一行,通过当前构造方法调用父类中的构造方法,目的是创建子类对象时候,先初始化父类特征在父和子中有同名的属性,方法名时候,如果想在子类中访问父类的数据必须使用“super.”super.属性名 【访问父类属性】super.方法名(实参)【访问父类的方法】super(实参)【调用父类的原创 2020-12-11 14:02:14 · 212 阅读 · 0 评论 -
switch语句语法,案例
1、switch语句叫做选择语句,或者分支语句2、语法格式 break不是必须的。default也不是必须的switch(值){case 值1:java语句;break;case 值2:java语句;break;default:java语句;}switch语句支持 int类型和string类型使用switch完成输入学生成绩为100-90优秀 80-90良 70-80中 60-70及格其余为不及格public class SwitchTest { public sta原创 2020-12-10 19:54:43 · 1052 阅读 · 0 评论 -
访问控制权限修饰符
访问控制权限修饰符1、访问控制权限修饰符来控制元素的范围2、访问控制修饰符包括:public 范围 公开的,任何位置都可以访问到protected 范围 同包下,子类缺省 范围 同包private 范围 私有的表示只能在本类中使用3、访问控制权限修饰符可以修饰类、变量方法…4、当某个数据希望子类使用,用protected修饰5、修饰符访问范围private<缺省<protected<public...原创 2020-12-10 19:17:14 · 589 阅读 · 1 评论 -
final关键字
1、final是一个关键字,表示最终的,不可变的2、final修饰的类无法被继承3、实例变量使用final修饰之后,必须手动赋值,不能采用传统默认值4、final修饰的变量一旦赋值就不能重新赋值5、final修饰的引用一旦指向了某个对象之后,不能再指向其他的对象,被指向的对象无法被垃圾回收器回收6、final修饰的实例变量和static一起使用被成为“常量”7、常量名字全部大写,每个单词之间用下划线连接...原创 2020-12-10 19:04:38 · 51 阅读 · 1 评论 -
this关键字、静态代码块,实例代码块
this1、this 是一个关键字,同时this是一个引用,是一个变量,this变量中保存的内存地址指向了自身,2、this保存在jvm堆内存Java对象内部3、创建10个对象就有10个this4、this可以出现在实例方法中,this指向当前正在执行这个动作的对象5、this不能使用在静态方法中静态代码块1、使用static关键字来定义静态代码块语法格式 static{java语句;}2、静态代码块在类加载时候执行,并且只执行一次3、静态代码块在一个类中可以写多个,并且遵循自上而下原创 2020-12-10 18:42:44 · 207 阅读 · 1 评论 -
面向过程与面向对象的区别和优缺点
面向对象(多态)1、面向过程和面向对象的区别 -面向过程:主要关注点是实现的过程,因果关系 优点:对于业余逻辑比较简单的程序,可以达到快速开发,前期投入比较低 缺点:采用面向过程的方式开发很难解决一些比较复杂的业务逻辑, 面向过程会导致软件元素间的“耦合度”非常高,主要其中的一个元素出现问题, 这个软件都受到影响最终导致软件的“扩展力”非常差。没有把元素独立出来, 以达到重复使用,扩展力大,原创 2020-12-10 18:18:51 · 4691 阅读 · 3 评论 -
什么是递归,递归的用法,java.lang.StackOverflowError错误
递归1、递归是非常消费内存的,递归算法可以不用的时候尽量不用 2、不正确的使用递归会出现java.lang.StackOverflowError,栈内存溢出出去 错误无法挽回,jvm会停止工作 3、递归必须要有递归必须有结束条件,没有结束条件一定会发生栈内存溢出错误 4、递归即使有了结束条件也有可能发生栈内存溢出错误,因为递归的太深了public class RecursionTest { public static void main(String[] args) {原创 2020-12-10 17:10:41 · 274 阅读 · 0 评论 -
认识Overload方法重载 ,怎么让方法重载
1、 方法重载又被称为overload2、 什么时候考虑使用方法重载呢?*当功能相似的时候,尽可能让方法名相同3、 名字方法重载的条件*在同一个类中*方法名相同*参数列表不同-数量不同-顺序不同*类型不同4、方法重载和什么有关系*方法重载和方法名+参数列表有关系*和返回值类型无关*和修饰符列表无关public class Overload { public static void main(String[] args) { mm m = new mm();原创 2020-12-10 16:51:38 · 84 阅读 · 0 评论 -
认识程序的入口main
关于java中的方法1、方法怎么定义,语法结构[修饰符列表] 返回值类型 (形式参数列表 ){方法体}2、解释2.1关于修饰符列表*可选项不是必须的*有static关键字的使用 类名.方法名(形式参数列表)调用2.2返回值类型*数据返回的结果的类型*返回值类型可以是任何一种数据类型,包括引用数据类型2.3方法名*方法名首字母要求小写,后面每个单词首字母大写*方法名最好见名知意*只要是合法的标识符就可以2.4形式参数列表 简称形参*形参是局部变量:int a;double b;原创 2020-12-10 16:09:24 · 236 阅读 · 0 评论