![](https://img-blog.csdnimg.cn/20200502114149179.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java语法
Java语法
AnFooo
这个作者很懒,什么都没留下…
展开
-
java构造方法
一.什么是构造方法构造方法其实就是一种特殊的方法,有多特殊呢?它没有返回值,连void都没有!它的方法名就是类名,下面就是一个构造方法:public class Father { public Father() {//构造方法 } public static void main(String[] args) { Father father=new Father()...原创 2019-08-01 20:41:33 · 131 阅读 · 0 评论 -
java访问权限:public、protected、friendly、private
java的访问权限修饰符有四种,按由小到大的顺序依次是private,default,protected,public,我们用一个表格先来看一下所有的访问权限,接下来再挑重点的解释一下。一.privateprivate是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在定义它们的类中被操作或使用:public class Father { private in...原创 2019-08-01 19:55:20 · 1877 阅读 · 1 评论 -
java多态
一.对象上转型在说多态之前我们先说一个其他的,下面这一操作想必大家都认识,9是int数据类型,把它存放到double类型的变量中,属于自动类型转换public class Earth { double age=9;}那么如果把这一形式用到类中来呢?就像下面的代码一样,创建一个新的子类类型的对象,然后定义一个父类类型的变量来指向这个对象,则这一操作就叫做对象上转型,等号后面的就...原创 2019-08-01 11:28:21 · 112 阅读 · 0 评论 -
方法的重载
一.为什么要有方法的重载当一个类中定义了非常多的方法时,方法的命名就成了令人头疼的问题,有些方法功能非常相似所以按照功能来取一个不重样的名字也是个烧脑的工作,这时使用方法的重载就解决了这些个功能相似的方法的命名问题二.方法的重载的使用方法重载的使用,其实非常的简单,如下定义两个名字相同的方法就可以了public class Whale extends Mammal{ publ...原创 2019-08-01 14:52:19 · 178 阅读 · 0 评论 -
Maven Web项目的创建
Maven Web项目的创建和Maven项目的创建很相像,只需将其步骤稍作改动一.打开eclipse,Ctrl+N键创建新项目,出现这个窗口:输入maven,选择maven project,点击next:二.出现这个窗口,然后再点击next三.到这一步就和创建Maven项目不一样了,出现下一个窗口后输入webapp,选择如下选项,点击next:四.在如下...原创 2019-07-31 10:15:55 · 107 阅读 · 0 评论 -
Maven项目的创建
一.打开eclipse,Ctrl+N键创建新项目,出现这个窗口:输入maven,选择maven project,点击next:二.出现这个窗口,然后再点击next三.出现下一个窗口后输入quickstart,选择如下选项,点击next:四.在如下窗口输入域名和项目名,要注意的是,域名是要倒置写的:五.点击finish,maven项目就创建好了!...原创 2019-07-31 10:07:34 · 88 阅读 · 0 评论 -
Maven的安装
1、下载:在下载地址:https://maven.apache.org/download.cgi这里下载apache-maven-3.5.0-bin.zip,如果是压缩包就对其解压缩,最终下载得到的是以下文件推荐在磁盘中新建一个文件夹来存放,我这里建了一个Program_Files,下载的路径为D:\Program_Files二.配置环境变量:右键单击此电脑,点击属性-&g...原创 2019-07-30 23:44:34 · 80 阅读 · 0 评论 -
详述java重写
一.java重写是什么重写,顾名思义,就是重新改写,就是将一个已有的事物进行某些改变以适应新的要求二.为什么要重写当一个子类继承它的父类时,子类的对象调用某一方法使用的是它的父类的方法,但如果父类的方法无法准确描述子类自身行为特征怎么办呢?这时候就需要进行重写了,下面我们来看一个例子public class Nigga { String name; String id; ...原创 2019-07-30 11:51:11 · 363 阅读 · 0 评论 -
java继承
一.什么是继承,为什么要用继承继承是面向对象编程的一大特征,它的机制是可以基于已有类来创建新类。由继承而得到的类称为子类或派生类,被继承的类称为父类或超类。那么为什么要有继承这一机制呢?因为如果你要创建一个新类,它和已有的类有许多共同的属性,那么你就要把已写过的代码再写一遍,这便大大的增加了代码量,而类的继承就恰好解决了这个问题,它实现了代码的重用性,下面是一个继承的示例,子类中便可以使用父类...原创 2019-07-30 14:52:15 · 235 阅读 · 0 评论 -
java类与对象浅述
java是一门面向对象的编程语言,类与对象是java的一大特色。类,通俗易懂的解释就是能判断某一类事物的共同判断标准。对象,和现实中的对象一样,包含的信息可以作为类的属性用来判断某一类事物,而现实对象中的功能在类中称为方法。那么如何来定义类呢?以下是定义类的示例:public class Rapper{ String name; String id; String co...原创 2019-07-29 22:32:20 · 121 阅读 · 0 评论 -
值传递与地址传递
在java中调用方法,数据的传递有两种传递方式,一种是值传递,一种是地址传递以下是值传递的示例:public class Use { static void shrink(int a) { a=0; } public static void main(String[] args) { int age=100; shrink(age); System.out....原创 2019-07-29 18:07:16 · 204 阅读 · 0 评论 -
Java中this的用法
在说this的用法之前用一句话概括this就是:this代表一个对象,谁调用方法,this就代表谁this的第一个用法:在用对象调用方法时,代表调用方法的那个对象,如下示例,对象bei调用shrink方法,所以this在shrink方法中代表的就是对象bei,运行结果如下:public class Rapper { private String id; public vo...原创 2019-07-29 11:37:03 · 172 阅读 · 0 评论 -
java中对象的初始化过程
假如在一段代码中,对同一个对象初始化时有多次赋值语句,那么赋值的先后顺序应该是怎样的呢?这就涉及到了对象的初始化过程。对象的初始化过程分为四步:1.给对象的实例变量(非“常量”)分配内存空间,默认初始化成员变量;2.成员变量声明时的初始化;3.初始化块初始化(又称为构造代码块或非静态代码块);4.构造方法初始化我们用一个例子详述这四个过程:package mcing;...原创 2019-07-29 11:09:05 · 382 阅读 · 0 评论 -
局部变量和全局变量
变量依照作用范围划分可以分为全局变量和局部变量两类一.全局变量全局变量又称为成员变量,它的定义位置是直接定义在类中,一般来说最好将定义放在类的头部,全局变量的作用范围是整个类,以下是全局变量的例子:package mcing;public class Use { float mon=3.2f; int non=9; public void shrink() { ...原创 2019-07-27 15:05:04 · 468 阅读 · 0 评论 -
详述break,continue,return
break,continue,return都是结束语句,那么它们之间有什么区别呢?一.break只能用于结束当前switch和循环,例子如下,执行break后,便不会再执行后面的语句,所以没有打印555public class example { public static void main(String[] args) { int age=0; switch (age)...原创 2019-07-26 17:29:02 · 247 阅读 · 0 评论 -
位运算符与逻辑运算符的区别
运算符的种类有很多,长相最相近的就要数位运算符和逻辑运算符了。第一个区别就是运算顺序,位运算符的两端的表达式都要进行计算的,而逻辑运算符则不然,运算完第一个表达式之后如果已经判定整个表达式为真或假以后,便不再运算第二个表达式,这种现象又叫短路现象。以下程序演示了这一现象:public class Calculate{ public static void main(String []...原创 2019-05-25 15:12:14 · 1764 阅读 · 0 评论 -
Java基本数据类型
一.数据类型,顾名思义,就是数据的类型,java为什么要区分数据类型呢?其实定义数据类型的过程便是在内存条上开辟内存的过程,而它的类型便是决定了这个空间里存什么数据。数据类型的分类有以下种类:接下来一一介绍以下几大类1.整型byte,short,int,long这四个都是整型的数据类型,同为整型,为什么要将其分为这么多类别呢?这个其实很好理解,计算机的内存都是有限的,如果存储一...原创 2019-05-25 14:36:44 · 165 阅读 · 0 评论 -
java标识符
与c相同,标识符是编程时使用的名字,是Java对包、类、接口、方法、变量、常量(不包括项目名)等命名时使用的字符序列,如以下均为标识符: 然而标识符的命名当然不可能是任意的,标识符的命名有如下几条规则: 1、标识符由字母、数字、 “_”、 “$”组成,且首字母不能是数字; 2、不能把Java关键字作为标识符; 3、标...原创 2019-05-25 12:53:46 · 125 阅读 · 0 评论 -
Java注释
注释在许多编程语言中都是重要的一环,尤其在开发BS软件的java语言中,在经过一段时间的使用后需要更新升级时,如果没有注释的附加,代码的可读性就会变得非常差,使工作效率降低的同时,还增大了读代码错误发生的概率。Java的注释分为三种形式第一种形式:单行注释//…第二种形式:多行注释1/…/第三种形式:多行注释2/**…*/前两种注释形式注释内容不会出现在javadoc 生成的文档中...原创 2019-05-21 22:42:35 · 148 阅读 · 0 评论 -
JAVA程序工作原理
Java是一门面向对象的BS开发语言,那么它的程序是如何工作的,即工作原理如下:/** *第一个java程序 *貌似还有点风趣 */public class HelloWorld{ public static void main(String [] args){ System.out.println("HelloWorld.");//代码搬运工上线 }}以上是一个简单...原创 2019-05-21 22:31:34 · 901 阅读 · 1 评论 -
String类中equals底层代码分析
在String类中很常用的方法之一就是equals()方法,它可以判断两个字符串是否相同,知其然更要知其所以然,知道了它的作用后为了以后能更好的使用它,我们以举几个示例来来分析一下底层代码。1.第一个示例package equals;public class Test { public static void main(String[] args) { String name...原创 2019-08-09 14:56:05 · 402 阅读 · 0 评论 -
HashMap中常用方法的总结
一.map集合的结构集合有众多种类型,map就是其中一种,其结构大致如下图所示map大致分为两大类,一种是Hashtable类,其有一个子类Properties;另一种是AbstractMap抽象类,其含有两个子类,一个是HashMap,一个是TreeMap。以下讲述的是HashMap集合二.HashMap集合的特点以下是一个HashMap集合的创建及HashMap包的引用...原创 2019-08-08 23:52:09 · 1061 阅读 · 0 评论 -
HashSet中常用方法总结
一.集合集合说通俗点就是个容器,用于存储、提取、删除数据,它和数组的最大区别就是数组的个数是指定的、有限的,而集合的容量是无限的。集合在java中实现的结构大致如下图所示,橘黄色的代表接口,浅蓝色的代表抽象类,深蓝色的代表普通类。集合Collection拥有两大分支:List接口和Set接口,List接口的两个实现类是ArrayList和Vector,Set的两个实现类是TreeSet...原创 2019-08-08 18:12:32 · 1328 阅读 · 0 评论 -
ArrayList常用方法总结
一.集合集合说通俗点就是个容器,用于存储、提取、删除数据,它和数组的最大区别就是数组的个数是指定的、有限的,而集合的容量是无限的。集合在java中实现的结构大致如下图所示,橘黄色的代表接口,浅蓝色的代表抽象类,深蓝色的代表普通类。集合Collection拥有两大分支:List接口和Set接口,List接口的两个实现类是ArrayList和Vector,Set的两个实现类是TreeSet...原创 2019-08-08 12:03:12 · 291 阅读 · 0 评论 -
详述throw和throws
目录一.封装二.用throw三.自定义异常四.throws的用法五.throw和throws比较一.封装详述见博客:java封装我们先在vo包中创建一个vo类,它的机理是当超出赋值范围时输出“年龄无效”提示调用者:package com.jd.vo;public class Student { private int age; public ...原创 2019-08-07 18:48:16 · 238 阅读 · 0 评论 -
详述try-catch-fianlly
目录1.try-catch的使用2.finally3.try-catch的注意事项1.try-catch的使用当代码中出现异常的时候,后面的同级代码便不能执行了。这时将以下代码中的异常语句用try-catch语句包裹起来,前后的同级语句便可以正常执行了,这就是对异常代码处理的结果:public class Test { public static void mai...原创 2019-08-07 17:19:23 · 318 阅读 · 0 评论 -
导入jar包log4j
以log4j的jar包为例:一.下载log4j的jar包这是已下载的jar包:二.创建lib右键点击项目名,选择new中的Folder:在下面的窗口中创建一个lib,点击finish:三.导入jar包先将jar包复制右键点击lib,点击粘贴Paste:再右键点击lib中粘贴的jar包,选中Build Path中的Add to Build P...原创 2019-08-07 16:40:50 · 1484 阅读 · 0 评论 -
详述java异常
目录一.什么是异常二.异常的后果三.异常的分类四.异常的处理方式五.log4j一.什么是异常异常就是程序运行过程中出现了不正常严重错误,以下是几个异常的示例:public class Test { public static void main(String[] args) { System.out.println(1/0); String na...原创 2019-08-07 17:15:08 · 126 阅读 · 0 评论 -
Lambda表达式
这是一个匿名内部类的定义,IComputer是一个函数式接口,匿名内部类作为实现类将add方法实现:interface IComputer{ int add(int a,int b);}public class Test { public static void main(String[] args) { IComputer computer = new ICompute...原创 2019-08-06 18:20:47 · 134 阅读 · 0 评论 -
详述静态内部类和非静态内部类
目录一.静态内部类1.在静态方法中2.在非静态方法中二.非静态内部类1.在静态方法中2.在非静态方法中三.使用中的注意事项1.静态内部类只能直接定义在外部类中2.静态内部类访问成员变量3.使用范围4.内部类中使用static在一个外部类中定义的类称为内部类,内部类可以分为静态和非静态一.静态内部类由static修饰的内部类就是静态内部类,以...原创 2019-08-06 18:07:35 · 1016 阅读 · 0 评论 -
详述有名内部类与匿名内部类
在一个外部类中定义的类称为内部类,内部类按照有无名字可以划分为有名内部类和匿名内部类一.有名内部类有名内部类顾名思义就是有名字的类,如下就是一个有名内部类,内部类中可以像正常的类一样定义属性和方法:public class Body { class Heart{ void work(){ System.out.println("working"); } }}...原创 2019-08-06 14:27:08 · 249 阅读 · 0 评论 -
StringBuffer
一.前言在String类中,用直接赋值的方式给String类型变量赋值时,就像下面代码这样,会在堆中的常量池里创建一个常量,然后将该常量的地址赋给栈中的变量:String name="k9999";当以如下这种方式时,叫做字符串的拼接,在常量池中还是只创建了一个对象:String name="k9999"+"om";但是初始化后假如以如下这种凡是再次赋值时,在常量池中就会创...原创 2019-08-05 14:42:35 · 182 阅读 · 0 评论 -
String类对象的两种创建方式及不同
一.等号在说String类之前先说一下‘==’,等号等号,是关系运算符,作用是判断值是否相等。1.基本数据类型中在基本数据类型中,值是直接存储在栈中,所以当比较如下代码的a和b的值时,直接比较的是栈中的值,显然二者值均为12,所以运行结果为true,代码和示意图如下:public class Home { public static void main(String[] ...原创 2019-08-04 11:18:51 · 489 阅读 · 0 评论 -
Java中的包
一个Java项目中都会包含大量的代码,类,接口,这时这些类在工程列表中都是按首字母顺序排序的,所以对于寻找某一专项的代码而言是极其不方便的。而使用Java中的包,就截然不同了一.包是什么包是一种可以将大量的java类模块化分类的东西,以下便是在java项目中创建包的操作:首先右键点击项目名,选择new中的package,点击:然后在下面的窗口中命名包名包名的命名之间用.来...原创 2019-08-04 15:12:05 · 231 阅读 · 0 评论 -
抽象类和接口的区别
区别一.关键字抽象类的关键字为abstract class,接口的关键字为interface区别二.成员变量抽象类中可包含任意合法的成员变量,包括各种访问权限的类成员变量和对象成员变量接口中的成员变量都是默认的public、static、final公开静态常量区别三.构造方法抽象类和接口都不能创建对象,但是抽象类含有无参构造方法,接口中没有构造方法也不能定义构造方法区别...原创 2019-08-03 17:38:36 · 94 阅读 · 0 评论 -
父类构造方法对子类构造方法的影响
当一个子类继承它的父类时,子类除了在属性和方法上受到父类影响,在构造方法上也会受到父类影响。一.父类的默认无参构造方法1.直接调用首先,我们如果想在子类的构造方法中调用父类的构造方法,应该用super(),代码如下://父类public class Father{ public Father() { System.out.println("父类构造方法"); }}...原创 2019-08-03 17:20:16 · 249 阅读 · 0 评论 -
详述java接口
一.定义接口一个抽象类中可以有多个抽象方法还可以没有抽象方法,可以没有其他方法也可以都是其他方法,但是当一个抽象类中只有抽象方法时,就可以将该抽象类定义成一个接口,定义方法就是将abstract class改成interface,以下就是一个简单的接口://接口public interface Mammal { public abstract void move(); pub...原创 2019-08-02 17:49:52 · 243 阅读 · 0 评论 -
详述java抽象类
一.抽象方法说抽象方法之前我们先来看一个多态的例子://父类public class Mammal { public void move() { System.out.println("正在移动、、、"); }}//子类public class Whale extends Mammal{ public void move() { System.out.prin...原创 2019-08-02 11:07:03 · 173 阅读 · 0 评论 -
java封装
java有三大特性,继承、封装、多态,封装便是其中之一一.vo类在说封装之前先来说一个特殊的类,叫vo类,下面这段代码便是一个vo类,我们可以看出,这个特殊的类中只含有private的属性,get和set方法:public class Student{ private int age; private String id; private String name; pu...原创 2019-08-01 21:41:33 · 448 阅读 · 0 评论 -
java类中代码块的静态与非静态
类中直接定义的代码块分为两种,静态和非静态的,二者的区别如下:一.非静态代码块直接定义在类中的且没有static修饰符的代码块如下:public class Father { { System.out.println("非静态代码块"); } public static void main(String[] args) { Father father=new Fa...原创 2019-08-01 21:07:06 · 165 阅读 · 0 评论