Java学习
贝贝爱豆豆
这个作者很懒,什么都没留下…
展开
-
JavaBean概念
JavaBean的标准1. 提供无参public的构造方法(默认提供)2. 每个属性,都有public的getter和setter3. 如果属性是boolean,那么就对应is和setter方法原创 2018-03-19 20:59:31 · 309 阅读 · 0 评论 -
Java面向对象多态性
Java面向对象多态性1、多态性的体现: 方法的重载和重写 对象的多态性2、对象的多态性: 向上转型:程序会自动完成 父类 父类对象=子类实例 向下转型:强制类型转换 子类 子类对象=(子类)父类实例示例代码:public class PolDemo01 { static class原创 2017-10-09 14:38:23 · 501 阅读 · 0 评论 -
Java接口的实现
Java接口的实现1、接口是Java中最终要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。2、接口的格式: interface interfaceName{全局常量抽象方法 }3、接口的实现也必须通过子类,使用关键字implements,而且接口是可以多实现的。4、一个子类可以同时继承抽象类和实现原创 2017-10-09 10:49:05 · 988 阅读 · 0 评论 -
抽象类
抽象类1、抽象类的概念: 包含一个抽象的方法的类就是抽象类2、抽象方法: 声明而未被实现的方法,抽象方法必须使用abstract关键字声明。3、抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法。4、定义格式: abstract class className{属性方法抽象方法 }5原创 2017-10-09 10:39:49 · 266 阅读 · 0 评论 -
final关键字的作用
final关键字的作用1、final关键字在java中被称为完结器,表示最终的意思。2、final能声明类、方法、属性: 使用final声明的类不能被继承 使用final声明的方法不能被重写 使用final声明的变量编程常量,常量是不可以被修改的示例代码:public class FinalDemo01 { static class Pe原创 2017-10-09 10:31:36 · 415 阅读 · 0 评论 -
Java的重载和重写的区别
Java的重载和重写的区别重载(Overloading) 方法名称相同,参数的类型或个数不同。 对权限没有要求 发生在一个类中重写(Overriding) 方法名称、参数类型、返回值类型全部相同。 被重写的方法不能拥有比父类更加严格的权限。 发生在继承中原创 2017-10-09 10:27:22 · 506 阅读 · 0 评论 -
方法的重写
方法的重写1、在继承中,也存在着重写的概念,其实就是子类定义了和父类同名的方法2、定义: 方法名称相同,返回值类型相同,参数也同。3、重写限制: 被子类重写的方法不能拥有比父类方法更加严格的访问权限4、访问权限: private示例代码:public class ExtendsDemo04 { static class A{原创 2017-10-09 10:08:50 · 1092 阅读 · 0 评论 -
子类对象的实例化
子类对象的实例化1.子类对象实例化之前,必须先调用父类中的构造方法,之后调用子类的构造方法。父类和子类的构造顺序如下:父类的静态代码块子类的静态代码块父类的成员父类的非静态代码块父类的构造方法子类的成员子类的非静态代码块子类的构造方法 其中,静态代码块优先加载,成员和非静态代码块按照代码顺序加载,最后加载构造函数。示例代码:原创 2017-10-09 09:49:35 · 503 阅读 · 0 评论 -
Java中继承的限制
Java中继承的限制1、在Java中只允许单继承。2、子类不能直接访问父类的私有成员。示例代码:public class ExtendsDemo02 { static class People{ private int age; public int getAge() { return age;原创 2017-10-08 21:10:55 · 1088 阅读 · 0 评论 -
Java继承的实现
Java继承的实现继承的实现 1.继承的基本概念 扩展父类的功能 2.Java中使用extends关键字完成继承。示例代码:public class ExtendsDemo01 { static class Person{ private int age; private String name;原创 2017-10-08 20:58:55 · 674 阅读 · 0 评论 -
JAVA中的static关键字
JAVA中的static关键字1、使用static声明属性 static声明全局属性。2、使用static声明方法 直接通过类名调用。3、注意点: 使用static方法的时候,只能访问static声明的属性和方法,而非static声明的属性和方法是不能访问的。示例代码:public class StaticDemo01 {原创 2017-10-08 20:47:08 · 221 阅读 · 0 评论 -
JAVA中的this关键字
JAVA中的this关键字1.表示类中的属性和调用方法。2.调用本类中的构造方法。3.表示当前对象。class People{ private String name; private int age; public People(){ System.out.println("无参数构造方法"); }原创 2017-10-08 20:28:46 · 197 阅读 · 0 评论 -
Java转义字符
Java转义字符转义符:"\",通过转义符,可以表示一些特殊的字符。例如:'\n'表示回车。'\t'表示制表位字符,一个制表符表示向右跳8-10个字符。'\\'表示\'\''表示''\"'表示"'\u4e2d'表示unicode码对应的字符(汉字:中)原创 2017-09-18 21:42:59 · 850 阅读 · 0 评论 -
Java字符类型
Java字符类型概述1.char类型的字面量可以是一个英文字母、字符或一个汉字,并且由单引号包括。 例如:'A' '3' 'a' '\n'2.Java底层使用一个16位的整数来处理字符类型,该数值式一个字符的unicode编码值。Unicode编码1.unicode编码是全球范围内的编码方法。2.unicode编码的英文部分与ASCII码兼容(ASC原创 2017-09-18 21:33:21 · 1633 阅读 · 0 评论 -
java常用的输入输出调试技巧
常用的输入输出调试技巧public class DebugTest{public static void main(String [] args){System.out.println("this is String debug info");System.out.println(new JFrame(){public String toString(){retur原创 2017-09-10 11:24:17 · 617 阅读 · 0 评论 -
Java面向对象多态性的应用
Java面向对象多态性的应用示例代码:public class PolDemo2 { static class A1{ public void tell1(){ System.out.println("A1--tell1"); } } static class B1 extends原创 2017-10-09 14:54:16 · 446 阅读 · 0 评论 -
instanceof关键字
instanceof关键字在Java中可以使用instanceof关键字判断一个对象到底是不是一个类的实例。示例代码:public class PolDemo01 { static class A{ public void tell1(){ System.out.println("A--tell1");原创 2017-10-09 15:00:29 · 2287 阅读 · 0 评论 -
Java小类型向大类型转换
Java小类型向大类型转换注意精度问题float能表示的数的范围大于int能表示数的范围。比如int转float,float的精度是23,一旦int大于23位所能表示的范围,则会出现精度损失。double能表示的数的范围大于long能表示的数的范围。long转成double时,因为double的精度是52,一旦long大于52位所能表示的范围,则会出现精度损失。原创 2017-09-22 12:37:54 · 2257 阅读 · 0 评论 -
Lock和synchronized的相同点与不同点
相同点:Lock是一个接口,为了使用一个Lock对象,需要用到 Lock lock = new ReentrantLock();与 synchronized (someObject) 类似的,lock()方法,表示当前线程占用lock对象,一旦占用,其他线程就不能占用了。与 synchronized 不同的是,一旦synchronized 块结束,就会自动释放对someObject的占用。 loc...原创 2018-03-02 22:15:57 · 908 阅读 · 0 评论 -
默认方法-JAVA8的新特性
转自:http://how2j.cn/k/interface-inheritance/interface-inheritance-default-method/676.html 默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法。 Mortal 这个接口,增加了一个默认方法 revive,这个方法有实现体,并且被声明为了default。public inte...转载 2018-02-12 19:51:19 · 286 阅读 · 0 评论 -
Java内部类详解
转自:http://how2j.cn/k/interface-inheritance/interface-inheritance-inner-class/322.html#nowhere内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类非静态内部类非静态内部类 BattleScore “战斗成绩”非静态内部类可以直接在一个类里面定义比如:战斗成绩只有在一个英雄对象存在的时候才有意义。所以实...转载 2018-02-12 19:44:01 · 260 阅读 · 0 评论 -
Java的final修饰符
final修饰类,方法,基本类型变量,引用的时候分别有不同的意思。final修饰类当Hero被修饰成final的时候,表示Hero不能够被继承其他类如果继承会出现编译错误final修饰方法父类的u方法被修饰成final,那么该方法在子类中,不能够被重写。final修饰基本类型变量final修饰基本类型变量,表示该变量只有一次赋值机会 比如:final int hp;hp = 5;hp = 6;(错...原创 2018-02-12 14:30:56 · 210 阅读 · 0 评论 -
Java中的Object类
Object类是所有类的父类声明一个类的时候,默认是继承了Object public class Person extends ObjecttoString()Object类提供一个toString方法,所以所有的类都有toString方法toString()的意思是返回当前对象的字符串表达通过 System.out.println 打印对象就是打印该对象的toString()返回值finaliz...原创 2018-02-12 11:46:31 · 206 阅读 · 0 评论 -
Java隐藏
与重写类似,方法的重写是子类覆盖父类的对象方法 隐藏,就是子类覆盖父类的类方法父类:public class Person { public String name; protected float hp; /** * 类方法,静态方法 * 通过类就可以直接调用 */ public static void battlewin(){ ...原创 2018-02-12 11:24:06 · 1543 阅读 · 0 评论 -
Java Util包里的Arrays类
数组复制 与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制。 不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。 copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了。 除此之外,需要注意的是 copyOfRange 的第3个参数,表示源数组的结束位置,是取不到的。...原创 2018-02-12 11:10:43 · 860 阅读 · 0 评论 -
Java中数组的复制
把一个数组的值,复制到另一个数组中System.arraycopy(src, srcPos, dest, destPos, length)src: 源数组srcPos: 从源数组复制数据的起始位置dest: 目标数组destPos: 复制到目标数组的起始位置length: 复制的长度public static void main(String [] args){ int [] a ...原创 2018-02-12 10:40:51 · 313 阅读 · 0 评论 -
junit测试框架
重点掌握@Test @Before @After了解 @BeforeClass @AfterClass先写一个Person类public class Person { public String run(){ System.out.println("run"); return "1"; } public void eat(){ System.out.原创 2018-01-11 10:48:04 · 278 阅读 · 0 评论 -
Java源文件声明规则
源文件声明规则当在源文件中声明类,输入和打包语法时,这些规则是十分重要的。• 每个源文件中只能有一个公共类。• 一个源文件可以有很多非公共类。• 公共类的名称必须是源文件的名称同时也要以.java 为后缀。举例来说:类的名称是public class Employee{} ,那么源文件就应该是Employee.java 。• 如果类是在一个程序包中定义的,那么程序包的声明必须是原创 2017-12-25 20:59:59 · 846 阅读 · 0 评论 -
StringBuffer中的容量函数
解析:Alength 返回当前长度如果字符串长度没有初始化长度大,capacity返回初始化的长度如果append后的字符串长度超过初始化长度,capacity返回增长后的长度PS: StringBuffer和StringBuilder的默认大小为16ArrayList和LinkedList的默认大小10StringBuffer s =原创 2017-10-13 13:52:13 · 1161 阅读 · 0 评论 -
Eclipse中的操作技巧
快捷键: 大多数快捷键在苹果下对应Cmd键,在windows下对应ctrl键。 1.ctrl+1 快捷修复 int a=100L; -->修复后 long a=100L; F2(默认选择第一个修复方式)2.Ctrl+D 快捷删除行3.Shift+Enter:直接在下一行创建新的代码(适用情况,当前行很长,需要移动到最后才行)4.Ct原创 2017-09-10 17:29:16 · 266 阅读 · 0 评论 -
交换两个变量的值
交换两个变量的值,仅在两个变量之间交换值。步骤1: a=a+b;结果:a=a+b,b=b;步骤2:b=a-b;结果:a=a+b,b=a;步骤3:a=a-b;结果:a=b,b=a;作为了解,不建议使用。原创 2017-09-22 13:24:43 · 533 阅读 · 0 评论 -
通过Scanner从控制台获取数据
通过Scanner从控制台获取数据一:概述1.Scanner类用于扫描从控制台输入的数据,可以接收字符串和基本数据类型的数据。2.Scanner类位于java.util.Scanner包中。二:Scanner的常用方法1.String next(); 作用:接收控制台输入的一个字符串。2.String nextLine(); 作用:接收控制台输入的一原创 2017-09-22 13:16:19 · 919 阅读 · 0 评论 -
通过args数组获取数据
通过args数组获取数据通过main方法的args数组可以从控制台获取一组字符串数据。public class Test17 { public static void main(String []args){ int a=Integer.parseInt(args[0]); int b=Integer.parseInt(args[1]);原创 2017-09-22 13:08:42 · 885 阅读 · 0 评论 -
int类型与char类型的转换
int类型与char类型的转换Java对char类型的数据在底层是按int类型来处理的。char c=65; //c为A字符int i='B'; //i为66char c='A';int i=c+1; //正确c=c+1; //报错,应改为c=(char)(c+1);原创 2017-09-22 13:03:45 · 1593 阅读 · 0 评论 -
java项目的导入导出
java项目的导入和导出项目导出:在创建好的项目上-->右键-->Export-->General-->Archive file -->把.classpath、.project选上-->保存为.zip文件(也可以保存为其他文件)这样导出的项目,其他的人是可以使用的。项目导入:在项目面板中点击右键-->Import-->General-->Existing原创 2017-09-10 11:10:10 · 623 阅读 · 0 评论 -
浮点类型
浮点类型1.概述 --浮点类型用于表示小数的数据类型。 --浮点数的原理:也就是二进制科学计数法。 --Java的浮点类型有float和double两种。 --Java默认浮点类型计算的结果是double类型,字面量也是double类型。 若要给float类型的变量赋字面量的值,则要在字面量后面加F(或f) 以2.19345*(10^5)为例介绍如下概念:原创 2017-09-17 21:06:09 · 3334 阅读 · 0 评论 -
整数类型
整数类型 --Java有四种整数类型:byte、short、int和long。 --Java默认整数计算的结果是int类型。 --整数的字面量是int类型。 --若字面量超过int类型的最大值,则字面量是long类型,那么后面要用L(或l)表示该值是long类型。示例1: long longValue=2200000000L; --java底层byte和shor原创 2017-09-17 20:56:05 · 429 阅读 · 0 评论 -
java中的堆和栈空间
栈空间:1.栈空间存取数据的效率高。2.栈中的数据按“先进后出”的方式管理。3.栈空间存储空间较小,不能存放大量的数据。4.JVM将基本类型的数据存放在栈空间。堆空间:1.堆空间存取数据的效率最低。2.数据存放的位置随机分配。3.堆空间存储数据的空间大,能存放大容量的数据。原创 2017-09-15 21:58:30 · 193 阅读 · 0 评论 -
JAVA数据类型
JAVA的8种数据类型 类型 占用空间 取值范围byte(字节型) 1字节 -128~127short(短整型) 2字节 -2^16~2^16-1int (整型) 4字节 -2^31~2^31-1long(长整型) 8字节 -9原创 2017-09-15 21:46:33 · 186 阅读 · 0 评论 -
如何为eclipse安装插件
在eclipse的官网上,提供了很多插件1.点击projects2.可以点击 list projects3.可以在搜索框内搜索到目标插件集成版本 link(链接)Help-->安装新的插件-->复制链接(link)-->选择安装的插件-->next-->一路向下即可或者:Help-->安装新的插件-->在下拉菜单中选择所有当前插件-->可以使用过滤器来选原创 2017-09-07 22:41:24 · 337 阅读 · 0 评论