
Java
别忘了坚持
这个作者很懒,什么都没留下…
展开
-
Java 内部类详解
一、前言内部类平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下。从开发的角度来讲,内部类能少用就少用,优先考虑普通类。二、内部类的基本概念在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类形式如下:package com.wz.innterclassdemo;class Outer { // 外部类 private String msg = "Hello World "; // 普通属性 class Inner { //转载 2020-12-15 09:01:45 · 78 阅读 · 0 评论 -
Java 构造方法私有化与单例模式
先看一个程序:class Singleton { // 定义一个类 public void print() { System.out.println("Hello World"); }}public class Test { public static void main(String args[]) { Singleton inst = null; // 声明对象 inst = new Singleton(); // 实例化对转载 2020-12-15 08:48:36 · 248 阅读 · 0 评论 -
Java IO操作详解
https://blog.youkuaiyun.com/wei_zhi/article/details/52933233原创 2020-12-15 08:34:53 · 95 阅读 · 0 评论 -
Java synchronized之“可重入锁”
概念可重入锁:自己可以再次获取自己的内部的锁。比如有线程A获得了某对象的锁,此时这个时候锁还没有释放,当其再次想获取这个对象的锁的时候还是可以获取的,如果不可锁重入的话,就会造成死锁。可重入锁也支持在父子类继承的环境中。实例package com.test.sync;public class Main { public int i = 10; synchronized public void operateMainMethod(){ try {转载 2020-12-15 08:34:12 · 153 阅读 · 0 评论 -
Java - 字符串 与 ASCII码 相互转换
将字符串转成ASCII /** * 字符串转换为Ascii * @param value * @return */ public static String stringToAscii(String value) { StringBuffer sbu = new StringBuffer(); char[] chars = value.toCharArray(); for (in转载 2020-12-15 08:31:40 · 1470 阅读 · 0 评论 -
Java 多线程详解(一)
Java 多线程详解(一)https://blog.youkuaiyun.com/wei_zhi/article/details/52787749Java 多线程详解(二)https://blog.youkuaiyun.com/wei_zhi/article/details/52793277Java 多线程详解(三)https://blog.youkuaiyun.com/wei_zhi/article/details/52805572原创 2020-12-14 16:45:44 · 138 阅读 · 0 评论 -
Java 代码块详解
在程序编程中,可以直接使用“{}”定义一段语句。根据定义的位置以及声明关键字的不同,可以分为四种:普通代码块、构造代码块、静态代码块和同步代码块。一般来说代码块是不能单独运行的,它必须要有运行主体。一、普通代码块普通代码块是定义在方法之中的代码块。我们先观察一下代码:package com.wz.thisdemo;public class TestDemo { public static void main(String args[]) { if (true) {转载 2020-12-14 16:41:31 · 128 阅读 · 0 评论 -
Java反射机制 详解
https://blog.youkuaiyun.com/wei_zhi/article/details/52730249原创 2020-12-14 16:27:05 · 194 阅读 · 0 评论 -
Java 正则表达式详解
一、正则表达式的引出先完成一个简单的程序:判断一个字符串是否全部由数字组成。public class TestDemo { public static void main(String[] args) throws Exception { String str = " 13412a 4124214141232"; if (isNumber(str)) { System.out.println("字符串由数字所组成!"); }转载 2020-12-14 16:20:25 · 177 阅读 · 0 评论 -
Java 异常的捕获与处理详解(二)
一、throws关键字thrwos关键字主要是在方法定义上使用的,表示的是此方法之中不进行异常的处理,而交给被调用处处理。例如:class MyMath { public int div(int x, int y) throws Exception { return x / y; }}现在的div()方法之中抛了一个异常出来,表示所有的异常交给被调用处进行处理。class MyMath { public int div(int x, int y) thr转载 2020-12-14 16:00:26 · 132 阅读 · 0 评论 -
Java 异常的捕获与处理详解(一)
一、异常的产生异常是程序之中导致程序中断的一种指令流,异常一旦出现并且没有进行合理处理的话,那么程序就将中断执行。下面,通过两个程序来进行异常产生问题的对比。(1)不产生异常的程序:public class Test { public static void main(String args[]) { System.out.println("1、除法计算开始。"); int result = 10 / 2; System.out.println转载 2020-12-14 15:51:44 · 152 阅读 · 0 评论 -
Java - abstract类和interface的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之转载 2020-12-14 15:37:30 · 108 阅读 · 0 评论 -
Java 泛型详解(二)
一、泛型接口使用泛型定义的接口可以称为泛型接口。例如:interface Message<T> { // 泛型接口 public String getInfo(T msg) ;}泛型接口的实现,在Java之中有两种方式:(1)在子类上继续定义泛型,同时此泛型在接口上继续使用、例:interface Message<T> { // 泛型接口 public String getInfo(T msg);}class MessageImpl<T&g转载 2020-12-14 15:31:35 · 84 阅读 · 0 评论 -
Java 泛型详解(一)
一、泛型的引出假设要求定义一个表示坐标的操作类(Point),这个类可以表示三种类型的坐标:(1)整数坐标:x = 10、y = 20;(2)小数坐标:x = 10.1、y = 20.3;(3)字符串数据:x = “东经100度”、y = “北纬20度”。分析:类中如果想保存以上的数据,一定需要定义x和y两个属性,而这两个属性可以接收三种数据类型,这样的话,只能使用Object类来定义会比较合适,这样会发生如下的几种转换关系:(1)整数:int - >自动装箱为Integer->向转载 2020-12-14 15:25:56 · 631 阅读 · 0 评论 -
Java String类详解(二)
一、字符串的常用方法 — 字符与字符串很多编程语言利用了字符数组的概念来描述字符串的概念,在String类的方法上也有所体现。一个例子:字符串和字符数组转换,完成一个小写字符串变为大写字符串的操作public class StringDemo { public static void main(String args[]) { String str = "helloworld" ; char data []转载 2020-12-08 17:37:45 · 200 阅读 · 0 评论 -
Java String类详解(一)
String类是一个字符串类型的类,使用“XXXX”定义的内容都是字符串,虽然这个类在使用上有一些特殊,但是String本身是一个类。一、String的实例化两种方式1、直接赋值实例化:String StringName= "xxx";以上是String对象的直接赋值,以上的代码并没有使用关键字new进行。String类也是类,所以也有构造方法。2、使用构造方法实例化:public String(String str);可以通过构造方法为String类对象实例化,但在构造里面依然要接收一个转载 2020-12-08 17:24:50 · 395 阅读 · 0 评论 -
Java接口 详解(二)
一、接口的应用—工厂设计模式(Factory)我们先看一个范例:package com.wz.factoryDemo;interface Fruit{ public void eat();}class Apple implements Fruit{ @Override public void eat() { System.out.println("吃苹果。。。"); }}public class Client { public转载 2020-12-08 16:35:14 · 80 阅读 · 0 评论 -
Java接口 详解(一)
一、基本概念接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。如果一个类只由抽象方法和全局常量组成,那么这种情况下不会将其定义为一个抽象类。只会定义为一个接口,所以接口严格的来讲属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有。范例:定义一个接口interface A{//定义一个接口 public static final String MSG转载 2020-12-08 15:49:52 · 100 阅读 · 0 评论 -
Java之final特性简述
1、final变量一旦声明的final变量被赋值后,就不能改变该变量的值。一个既是static又是final的字段只占据一段不能改变的存储空间。2、final方法被final定义的方法不能被重写,一个定义为private的方法隐式的被指定为final类型。定义为final的方法可以使运行时的效率优化。3、final类定义为final的类不能被继承,不能再派生子类。将某个类定义为final形式,类中的所有方法都被隐式地设置为final形式,但类中的成员变量可以被定义为final或者非final形式。原创 2020-12-08 15:32:38 · 751 阅读 · 0 评论 -
Java抽象类 详解
总结:抽象类必须被继承和覆写抽象方法,才能被实例化。一、抽象类的基本概念普通类是一个完善的功能类,可以直接产生实例化对象,并且在普通类中可以包含有构造方法、普通方法、static方法、常量和变量等内容。而抽象类是指在普通类的结构里面增加抽象方法的组成部分。那么什么叫抽象方法呢?在所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。而拥有抽象方法的类就是抽象类,抽象类要使用ab转载 2020-12-08 14:44:01 · 93 阅读 · 0 评论 -
Java 覆写(Override)详解
一、覆写概念既然现在出现了继承的关系,那么就存在了子类和父类的联系,而在子类之中有可能定义和父类完全相同的方法或属性的名称,这个时候就称为覆写了。二、方法的覆写当子类定义了和父类在方法名称、返回值类型、参数类型及个数完全相同的方法的时候,称为方法的覆写。没有覆写的操作:package com.wz.overridedemo;class A { public void print() { System.out.println("Hello World ."); }转载 2020-12-08 11:04:07 · 5219 阅读 · 1 评论 -
Java 继承(extends)详解
一、继承问题的引出继承性是面向对象的第二大主要特征。下面首先编写两个程序:Person类、Student类。Person类:class Person { private String name ; private int age ; public void setName(String name) { this.name = name ; } public void set转载 2020-12-08 10:24:26 · 486 阅读 · 0 评论 -
Java 关键字static详解
一、static基本描述对于关键字static ,大家应该不会陌生,因为一直编写: public static void main(String args[]) {...}那static表示什么呢?static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是要注意一点:Java语言中没有全局变量的概念。二、使用static定义属性我们先来看一个表示图书的操作类,其中所有书的出版社都是清华出版社。package com.wz.thisdemo;转载 2020-12-07 17:38:58 · 145 阅读 · 0 评论 -
Java 关键字this详解
在整个Java中,只要是代码开发,几乎都离不开this。在Java中this可以完成三件事情:表示本类属性、表示本类方法、当前对象。一、“this.属性”表示本类属性明确的指定要操作的是类中属性,采用“this.属性”的形式完成,代码应该变为:class Person { private String name ; private int age ; public Person(String name,int age) { this.name = n转载 2020-12-07 16:12:49 · 379 阅读 · 2 评论 -
Java中的四种引用类型
一、前言Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变量的取值等于数组或者对象在堆内存中的首地转载 2020-12-07 15:26:09 · 117 阅读 · 0 评论 -
Java - 类的封装、构造方法和匿名对象
一、面向对象的封装性封装(encapsulation)又叫隐藏实现(Hiding the implementation)。就是只公开代码单元的对外接口,而隐藏其具体实现。比如手机,手机的键盘,屏幕,听筒等,就是其对外接口。你只需要知道如何按键就可以使用手机,而不需要了解手机内部的电路是如何工作的。封装机制就像手机一样只将对外接口暴露,而不需要用户去了解其内部实现。开发建议:以后在定义类的时候,所有的属性都要编写private封装,封装之后的属性如果需要被外部操作,则编写setter、getter方法去实转载 2020-12-07 14:17:23 · 219 阅读 · 0 评论 -
Java-类和对象、方法
一、面向对象简述面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性,面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并转载 2020-12-07 11:57:25 · 209 阅读 · 0 评论