JAVA基础
Shine已存在
记录我的测试学习之路
展开
-
java基础01--注释语句&变量类型&打印语句
注释语句&变量类型&打印语句翻译 2019-07-29 14:06:12 · 74 阅读 · 0 评论 -
java基础19---多态
1、多态的定义:同一种行为,具有多种不同的表现形式2、多态的前提 1)继承或实现(二选一) 2)方法重写 3)父类引用指向子类对象3、多态的体现:格式:父类类型 对象名 = new 子类类型(); 变量名.方法名;普通类定义多态的格式:class Fu{}class Ziextends Fu{}//类的多态使用Fu f = new Zi();抽象类定...原创 2019-07-31 17:54:34 · 102 阅读 · 0 评论 -
java基础20---abstract
抽象即不清楚的,如抽象画一样在java中抽象用abstract关键字来表达抽象。举个例子:动物都会叫,但是没有具体怎么叫,对于不同的动物有不同的叫法,如猫叫喵,狗叫汪,羊叫咩,牛叫哞等等。我们就可以把动物叫表达为抽象运行结果:抽象方法:1)从上面的例子中我们可以看出,抽象方法没有主体(speak()没有{}包起来的业务逻辑),所以我们没法直接调用抽象方法2)抽象方法不能用priv...原创 2019-08-01 13:23:38 · 110 阅读 · 0 评论 -
java基础21---接口interface
前面讲抽象类和方法时提到过接口,接口只有方法,没有具体实现。在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。接口无法实例化测试,如下图:报错信息:Abstract methods do not...原创 2019-08-01 15:53:47 · 143 阅读 · 0 评论 -
java基础22---封装
在面向对象程式设计方法中,封装(Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能够修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全...转载 2019-08-13 14:29:04 · 76 阅读 · 0 评论 -
java基础23---递归
递归算法是一种直接或者间接调用自身函数或者方法的算法。java递归算法是基于java语言实现的递归算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决一大类问题很有效,它可以使算法间接和易于理解。递归算法解决问题的特点:1)递归就是方法调用自身2)在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口3)在递归调用的过程当...原创 2019-08-13 15:27:08 · 54 阅读 · 0 评论 -
java基础24---ArrayList类
与数组不同,数组一旦创建,长度固定,但是ArrayList的长度是动态的,不受限制,可以存储任意多的对象,但是只能存储对象,不能存储原生数据类型,如int由于ArrayList只能存储对象,不能存储原生数据类型,所以ArrayList array = new ArrayList();//错误!只能写成ArrayList array =new ArrayList();创建一个存储字符串的...原创 2019-08-14 14:49:44 · 178 阅读 · 0 评论 -
java基础25----LinkedList类
LinkedList和ArrayList类似,但是有一些方法是ArrayList不具备的与ArrayList采用的存储结构不同,ArrayList的数据结构为线性表,而LinkedList数据结构是链表。链表数据结构的特点是每个元素分配的空间不必连续、插入和删除元素时速度非常快、但访问元素的速度较慢。 import java.util.ArrayList; import java.u...原创 2019-08-14 15:45:45 · 82 阅读 · 0 评论 -
java基础26---ArrayList和LinkedList的区别
ArrayList实现了List接口,它是以数组的方式来实现的,数组的特性是可以使用索引的方式来快速定位对象的位置,因此对于快速的随机取得对象的需求,使用ArrayList实现执行效率上会比较好LinkedList是采用链表的方式来实现List接口的,它本身有自己特定的方法,如: addFirst(),addLast(),getFirst(),removeFirst()等. 由于是采用链表实现的...转载 2019-08-15 10:07:57 · 62 阅读 · 0 评论 -
java基础27---ListIterator方法
ListIterator接口定义如下:Interface ListIterator<E>{}包含的方法有:由以上定义我们可以推出ListIterator可以:(1)双向移动(向前/向后遍历).(2)产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引.(3)可以使用set()方法替换它访问过的最后一个元素.(4)可以使用add()方法在next()方法返回的...原创 2019-08-15 11:24:22 · 234 阅读 · 0 评论 -
java基础28---HashSet类
什么是Set,就是不包含重复元素的集合。Set是一种不包括重复元素的Collection。它维持它自己的内部排序,所以随机访问没有任何意义。与List一样,它同样允许null的存在但是仅有一个。由于Set接口的特殊性,所有传入Set集合中的元素都必须不同Set接口有三个具体实现类,分别是散列集HashSet、链式散列集LinkedHashSet和树形集TreeSet。import java....原创 2019-08-15 16:38:44 · 88 阅读 · 0 评论 -
java基础29---异常
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。异常发生的原因有很多,通常包含以下几大类:1)用户输入了非法数据2)要打开的文件不存在3)网络通信时连接中断,或者JVM内存溢出这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。要理解java异常处理是如何工作的,你需要掌握以下三种类型的异常:1)检查性异常:最具代表...原创 2019-08-15 17:37:11 · 95 阅读 · 0 评论 -
java 基础30---读写文件
public class Encap {public static void main(String args[]) throws IOException{ File f = new File("a.text"); FileOutputStream fop = new FileOutputStream(f); //构建FileOutputStream对象,文件不存在会自动创建 Ou...原创 2019-08-16 15:57:01 · 65 阅读 · 0 评论 -
java基础核心技术学习笔记2--数组
冒泡排序//实现冒泡排序public class BubbleSort { public static void main(String[] args){ int[] array = new int[]{12,-9,34,7,908,-87,0}; printArray(array); System.out.println(); BubbleSort(array,...原创 2019-10-09 16:16:43 · 68 阅读 · 0 评论 -
java基础18---方法重写
一、方法的重写:1.子类中出现了和父类中一模一样的方法声明,也被称为方法覆盖,方法重写(复写);2.重写的格式:1).返回值类型 方法名 ,形参列表:必须完全一致;A."返回值类型"和"方法名"相同,"参数列表"不同:编译通过。类似于"重载",子类定义了一个自己的方法B."方法名"和"参数列表"相同,"返回值类型"不同:编译错误。如果"方法名"和"形参列表"相同,要求"返回值类型"...转载 2019-07-31 16:34:18 · 344 阅读 · 0 评论 -
java基础17---final关键字
final关键字:通常指无法改变的,可能使用的场景有三种:数据、方法和类。1、final修饰的类当用final修饰类时,表名这个类不能被继承验证继承时报错 The type person cannot subclass the final class Student2、final修饰的方法1、防止在继承时方法被覆盖。2、提升效率(在使用hotspot技术之后,Java虚拟机不再需要...原创 2019-07-31 15:08:45 · 124 阅读 · 0 评论 -
java基础02--基础数学运算
选中多行代码,【Ctrl+/】可实现多行注释翻译 2019-07-29 14:33:25 · 73 阅读 · 0 评论 -
java基础03-- a++和++a的区别
翻译 2019-07-29 14:49:38 · 87 阅读 · 0 评论 -
java基础04--If条件语句&逻辑运算(与或)
if嵌套条件语句与或运算翻译 2019-07-29 15:18:15 · 1540 阅读 · 0 评论 -
java基础05--switch语句
翻译 2019-07-29 15:37:31 · 57 阅读 · 0 评论 -
java基础06--while循环语句&do while循环&for循环
要注意跳出循环的条件,不能有死循环do while 循环是先执行后判断,while循环是先判断后执行翻译 2019-07-29 16:06:53 · 91 阅读 · 0 评论 -
java基础07--数组
翻译 2019-07-29 17:16:03 · 67 阅读 · 0 评论 -
java基础08--对象String的用法
String不是变量类型,而是对象翻译 2019-07-30 09:48:56 · 346 阅读 · 0 评论 -
java基础09--方法简介&方法传参和返回
方法有时候叫函数,方法是一块为了解决或实现具有逻辑的事情的代码在java中用method表示,java的同一程序只能有一个main方法,所以我们定义其他方法时,不可使用main来命名方法void表示方法没有返回值。如果要返回值,就需要使用return这个关键字,而且要定义返回值的数据类型注意:main方法中调用了max方法,max方法中没有打印语句,若想看到结果,需要加上打印语句,有两...翻译 2019-07-30 10:21:07 · 93 阅读 · 0 评论 -
java基础10--类和对象&传参设置和获取调优
1、什么是类和对象类是对象的模板,对象是类的实例化2、如何定义类public class name{}public表示修饰符,class是关键字,表明定义的是一个类,后接类名;在类中可以定义多个方法和类属性3、具体类的实现,如下在lessons包下,新建两个class,一个叫Student,一个叫MyClass3.1定义Student此处定义了一个Student的类,只定义了类属...翻译 2019-07-30 13:18:43 · 130 阅读 · 0 评论 -
java基础11--构造函数
1、构造函数和非构造函数的区别构造函数不可以有返回值构造函数的名字和类名相同2、在创建类的实例时,调用构造函数3、可以在构造函数中对变量初始化和赋值4、在主方法中调用类的方法,求立体体积5、可以有多个构造函数,通过构造函数的参数个数和类型区分6、按住【ctrl】,点击Cube(3,3,3),跳转到Cube类中的第二个构造函数。说明cub2调用的是第二个构造函数总结:1...翻译 2019-07-30 14:11:22 · 143 阅读 · 0 评论 -
java基础12---方法重载
重载(Overloading)(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个...翻译 2019-07-30 14:31:49 · 60 阅读 · 0 评论 -
java基础13---static关键字
在java中使用static的方法叫静态方法,静态方法只可以类本身调用,实例对象不可以调用没有static的方法叫做实例方法,任何一个实例都可以调用。同样,类变量和方法类似类的实例对象调用静态方法,黄色警告内容为:The static method DoSomethingWithStatic() from the type Student should be accessed in a ...翻译 2019-07-30 15:18:16 · 240 阅读 · 1 评论 -
java基础14---static实例
翻译 2019-07-30 15:57:48 · 135 阅读 · 0 评论 -
java基础15---public/protect/private/this介绍
1、Java中权限访问控制的修饰符有四种情况:public private protected 和默认为空。四种情况的访问权限2、无修饰符在lessons包里,有两个类,一个是Student,一个是MyClass在lessons中定义两个不带修饰符的变量在MyClass中访问不带修饰符的两个变量,执行后,有结果说明同一个包中不同类可以访问不带修饰符类型的变量2、private...原创 2019-07-30 16:56:42 · 300 阅读 · 0 评论 -
java基础16---继承
在父类中修改set_values方法public void set_values(int height,int width){this.height = height;this.width = width;}也就是说无论自己重命名宽和高,还是使用父类中变量名,都可以得出结果2、如果每次都要改程序中的输入,很麻烦。我希望每次执行时,提醒用户输入值,然后计算出结果。下面我想尝试...原创 2019-07-31 13:57:06 · 73 阅读 · 0 评论 -
java基础核心技术学习笔记3--面向对象的三大特性
一、封装或隐藏 (Encapsulation)使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。public class Animal { public int legs; public void eat(){ System.out.println(“Eating.”); } public void move(){ Sy...原创 2019-10-10 16:11:03 · 92 阅读 · 0 评论