Java
gx1500291
这个作者很懒,什么都没留下…
展开
-
Java static关键字
static关键字static修饰属性和方法1.static变量-类属性(静态属性) static一般用public修饰 static属性称为类属性,类属性保存在全局数据区中(方法区-所有对象共享区域),通过类名调用,与对象实例化无关。传统属性具备的特征:保存在堆内存中,且每个对象独享属性。描述共享属性,只需在属性前添加static关键字即可,访问s...原创 2018-10-28 22:10:41 · 155 阅读 · 0 评论 -
【JavaSE】之Object类
.java.long.Object类(RealFather)Object类是Java默认提供的类1.Java除了Object类,所有的类都存在继承关系,默认会继承Object父类,所有类对象都可以通过Object类进行接收class Father{}class Child{}public class test{...原创 2018-11-21 17:57:01 · 127 阅读 · 0 评论 -
【JavaSE】内部类的简单使用
内部类的简单使用1.内部类的基本概念 内部类:就是在一个类的内部进行其他类结构的嵌套操作。 例:内部类的简单定义:class Outter{ private String msg = "Outter中的字符串"; //定义一个内部类 //-----------...原创 2019-01-26 18:15:12 · 2497 阅读 · 0 评论 -
【JavaSE】抽象类与接口
1.抽象类的定义与使用定义:抽象类只是在普通类的基础上扩充了一些抽象方法而已。抽象方法:指的是只声明而未实现的方法(没有方法体)所有抽象方法要求使用abstract来定义,并且抽象方法所在的类也一定要使用abstract来定义,表示抽象类。例:定义一个抽象类abstract class Person{ //属性 private String name; ...原创 2019-02-01 22:25:50 · 246 阅读 · 0 评论 -
【JavaSE】之单例模式与异常体系
目录1.包的定义及使用、访问控制权限2.单例设计模式与多例设计模式3.Java异常与捕获1.包的定义及使用1.1包的本质实际上就是文件夹定义用:packagepackage www.bit.java;一旦程序出现包名称,那么*.class必须存在相应目录下。在JDK编译的时候使用配置参数。打开包编译命令:javac -d . 类名.java-d表示生成目...原创 2019-02-03 15:46:06 · 268 阅读 · 0 评论 -
【JavaSE】之泛型
目录 1.JDK1.5新特性1.1可变参数1.2for each 循环用于数组与类集的简单输出1.3静态导入 2.泛型2.1泛型类2.2泛型方法2.3通配符(重点)2.3.1 ?-可以接收任意类型(仅用于方法参数)2.3.2 ? extend 类:设置/取得泛型上限2.3.3 ? super 类:取得泛型下限-只能用于方法中2.4泛型接口2....原创 2019-02-04 21:50:06 · 630 阅读 · 0 评论 -
【JavaSE】之新特性概述
目录:1.枚举2.注解3.Lambda表达式4.方法引用1.枚举—引用类型首先回顾多例设计模式的特点:构造方法私有化,类内部需要提供若干个实例化对象,后面通过static方法返回。例:class Color{ private String title; public static final int RED_FLAG = 1; publi...原创 2019-02-05 23:34:45 · 154 阅读 · 0 评论 -
【JavaSE】多线程之Lock体系
1.Lock简介 JDK1.5之后,增加了lock接口,它提供了与synchronized一样的锁功能。拥有锁获取和释放的可操作性,可中断的获取锁以及超时获取锁等多种synchronized关键字不具备的同步特性。使用lock的形式如下:Lock lock = new ReentrantLock();lock.lock();try{ lock.lock();...原创 2019-02-15 16:14:28 · 270 阅读 · 0 评论 -
【JavaSE】多线程之基础知识
目录:1.进程与线程的概念2.Java多线程实现2.1继承Thread类实现多线程2.2实现Runnable接口来实现多线程2.3继承Thread类与实现Runnable接口的关系2.4实现Callable<V>实现多线程3.多线程常用操作方法3.1线程的命名与取得3.2线程休眠方法sleep3.3线程让步方法yield3.4等待...原创 2019-02-06 21:48:44 · 245 阅读 · 0 评论 -
【JavaSE】之反射
1.认识反射机制1.1初识反射反射指得是对象的反向处理。根据对象倒推类的组成。例:观察正常处理import java.util.Date;public class Test{ public static void main(String[] args){ Date date = new Date(); }}所谓的“反”指的是根据对象来取得...原创 2019-02-15 18:56:09 · 168 阅读 · 0 评论 -
【JavaSE】多线程之同步与死锁
产生原因:多个线程在同一时刻访问共享资源(临界区)1.synchronized(内建锁)实现同步处理(加锁操作) 在方法中使用synchronized(对象),一般可以锁定当前对象this,表示同一时刻只有一个线程能够进入同步代码块,但是多个线程可以同时进入方法。class MyThread implements Runnable{ private int ti...原创 2019-02-08 13:18:00 · 157 阅读 · 0 评论 -
【JavaSE】多线程之生产者与消费者模型
wait()与noyify()用于同步代码块或同步方法必须是内建锁1. wait()—痴汉方法(运行态回阻塞态)wait()就是使线程停止运行,会释放对象锁。I.wait()方法会使当前线程调用该方法后进行等待,并且将该线程置入锁对象的等待队列中,直到接到通知或被中断为止。II.wait()方法只能在同步方法或同步代码块中调用,如果调用wait()时没有适当的锁,会抛出异常。...原创 2019-02-09 12:20:52 · 193 阅读 · 0 评论 -
【JavaSE】多线程之线程池
1.使用线程池的优点:I.降低资源的消耗:通过重复利用已创建的线程降低线程创建于销毁带来的损耗。II.提高响应的速度:当新任务到达时,任务不需要等待线程创建就可以立即执行。III.提高线程的可管理性:使用线程池可以统一进行线程的分配、调度与监控。2.线程池执行任务的流程:当一个Runnable或Callable对象到达线程池时,执行策略如下:第一步:首先判断核心线程...原创 2019-02-10 22:14:34 · 548 阅读 · 0 评论 -
【JavaSE】之IO
1.File文件操作类java.io包中,File类是唯一一个与文件本身操作(创建、删除、取得信息)有关,与文件内容无关的程序类。1.1File类(既可描述真实文件,也可是个文件夹)的基本使用File类的两种实例化方式:public File(String pathname) [绝对路径]public File(String parent,String child):设置父路径...原创 2019-02-16 21:00:30 · 241 阅读 · 0 评论 -
【JavaSE】之集合类
目录1.Java类集简介1.1Collection接口2.List接口-允许元素重复2.1ArrayList(优先考虑)2.2Vector2.3ArrayList与Victor的区别:2.4LinkedList-基于链表实现的动态数组3.Set接口-不允许重复元素(Set接口就是value值相同的Map接口,先有Map才有Set)3.1HashSet-无序存储...原创 2019-02-19 18:25:24 · 209 阅读 · 0 评论 -
Java版-飞鸽传信
一、项目简介 简单实现多个客户端之间的通信功能。二、项目功能用户上线,通知服务器注册并统计群聊人数; 所有用户可以进行群聊,以及可以指定用户进行私聊; 用户下线,通知服务器,服务器更新信息。三、具体设计 首先,聊天室的项目是建立在Socket编程基础上,Socket编程的操作流程如下:1.先建立连接,直到目标服务器的IP地址与端口号2.获取本连接的...原创 2019-03-05 12:25:50 · 370 阅读 · 0 评论 -
【JavaSE】之String类
.java.long.String类1.String类的两种实例化方式a.直接赋值(直接赋值,在堆上分配空间)String str1 = "Hello World";System.out.println(str1);b.传统方法(通过构造方法实例化String对象)String s...原创 2018-11-16 19:32:54 · 201 阅读 · 0 评论 -
异常类
1).定义一个MulException类继承Exception类,要求两数相乘等于100报错,在主类中定义一个方法,在方法中抛出此异常,在主方法观察结果。 2).定义一个DivException类继承RuntimeException类,要求两数相除等于2报错,在主类中定义一个方法,在方法中抛出此异常,在主方法观察结果。 Exception:受查异常,强制用户进行异常处理RuntimeE...原创 2018-11-12 20:29:59 · 135 阅读 · 0 评论 -
猴子吃桃问题
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。思路:已知第十天的桃子的为1,则使用计数器记录第十天的桃子为1个, 循环的方式:如果不是第一天,则当前前一天的桃子数为(c...原创 2018-11-12 20:13:52 · 212 阅读 · 0 评论 -
Java面向对象编程-类与对象概念
1.面向对象三大特征: a.封装性:将客观事物封装成抽象的类,每个类都有自己的属性与方法,并且类可以让自己的数据与方法只让可信的类或对象操作,对不可信的进行信息影藏。 内部操作对外部而言不可信(保护性) b.继承性:可以使用现有类的所有功能,并且在无需重新编写原有类代码的情况下进行功能上的扩展。(可重用) c.多态性:(重点)指的是一个类实例的相同方...原创 2018-10-25 23:54:24 · 123 阅读 · 0 评论 -
创建一个Test类,包含有一个public权限的int型成员变量与一个char类型的成员变量,观察在main方法中的初始值。
整型的默认值为0,char型的默认值( \u0000)正好是一个空格class Test{ public int i; public char a;}public class Init{ public static void main(String[] args){ Test test = new Test(); //产生一个对象 ...原创 2018-10-26 00:03:01 · 270 阅读 · 0 评论 -
一个斐波那契数列是由数字1、1、2、3、5、8、13、21、34等等组成的,其中每一个数字(从第三个数字起)都是前两个数字的和。创建一个方法,接受一个整数参数,并显示从第一个元素开始总共由该参数指定的
思路:首先知道斐波那契数列中的每个数字都是前两个数字的和 其次通过递归的方法来实现(使用递归的方法一定要注意递归的跳出条件)public class Fibonacci{ public static void main(String[] args){ int n = Integer.parseInt(args[0]); //将St...原创 2018-10-26 00:17:14 · 4318 阅读 · 0 评论 -
Java中的private
private实现封装 将属性和方法用private封装后表示,被封装的属性与方法只能在本类中使用,类外部不可见。 此时要想访问被封装的属性,必须提供getter与setter方法 setter方法:主要进行属性内容的设置与修改 getter方法:主要进行属性内容的取得 类的设计原则:编写类的时候,没有额外说明,所有属性必须使用pr...原创 2018-10-26 14:36:27 · 9375 阅读 · 0 评论 -
构造方法的定义与使用
构造方法(主要意义是对类中属性初始化)构造方法的三大特征:a.构造方法名称必须与类名称相同【1类名称】Persion 【2对象】per1 = 【3】 new 【4 构造方法】Persion();b.构造方法没有返回值类型声明(注意不是没有返回值)//命名不规范的普通构造public void Person(){ System.out.println("###...原创 2018-10-26 15:21:04 · 13680 阅读 · 0 评论 -
Java中的this关键字
this关键字1.表示调用本类属性 只要在类中访问类的属性,一定要加上this关键字class Person{ private String name; private int age; public Person(String name, int age){ //name = name 就近使用原则,找到最近的,形参一直等于形参 ...原创 2018-10-26 15:53:51 · 119 阅读 · 0 评论 -
创建一个带默认构造方法(即无参构造)的类,在构造方法中打印一条消息"Hello Constructor";再为这个类添加一个重载构造方法,令其接收一个字符串参数
创建一个带默认构造方法(即无参构造)的类,在构造方法中打印一条消息"Hello Constructor";再为这个类添加一个重载构造方法,令其接收一个字符串参数,并在这个有参构造方法中把"Hello Constructor"和接收的参数一起打印出来。在Test类中定义一个无参构造和一个有参数的有参构造 class Test{ public Test(){ Syst...原创 2018-10-26 16:04:05 · 436 阅读 · 0 评论 -
代码块和继承的定义与使用
1.代码块的定义与使用 根据代码块出现的位置以及关键字,分为以下三种代码块:1.1普通代码块(没有任何修饰符)-定义在方法中的代码块public class test{ public static void main(String[] args){ { //普通代码块 int a = 10; ...原创 2018-10-29 20:26:07 · 174 阅读 · 0 评论 -
Java数组-引用数据类型
1.数组初始化1.1动态初始化(声明并开辟数组) 数据类型【】 数组名称 = new 数据类型 【长度】 eg:声明并开辟一个长度为5的数组 int[ ] data = new int[5]; a.数组通过下标索引来取得元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时异常) b.数组...原创 2018-10-25 00:54:14 · 1453 阅读 · 0 评论 -
覆写-重写(override)
覆写-重写(override)如果子类定义了与父类完全相同(不算权限)的方法或者属性的时候,这种操作就称为覆写。1.方法的覆写 子类定义了与父类方法名称,参数列表,方法返回值完全相同的方法。子类不能拥有比父类更严格的访问控制权限。(并且不能出现private关键字)。 判断调用的是父类方法还是子类...原创 2018-11-01 17:56:15 · 2997 阅读 · 0 评论 -
一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。思路:首先求出一个数的所有因子 在判断这个数的所有因子之和与它本身是否相等public class test{ public static void main(String[] args){ int i,j; ...原创 2018-11-03 23:39:19 · 21122 阅读 · 0 评论 -
【JavaSE】super关键字
super关键字1.super用于方法a.用于构造方法(重要)表示调用父类构造方法,super(参数列表) 当子类调用父类无参构造时,super()可写可不写,表示调用父类无参构造class Person{ public Person(){ System.out.println("父类的无参构造"); }}class Student ex...原创 2018-11-02 19:14:37 · 123 阅读 · 0 评论 -
【JavaSE】final关键字
final关键字-终结器(表示有最终的,不可修改的含义)1.final修饰类(String类以及8大基本数据类型包装类) 当一个类被final关键字修饰,表示该类不能拥有子类(该类不允许被继承) 一旦一个类被final修饰,该类的所有方法都会默认加上final。(成员变量(属性)不会加final)final class Person{}class Student e...原创 2018-11-02 20:12:58 · 288 阅读 · 0 评论 -
利用接口做参数,写个计算器,能完成加减乘除运算
编程题: 利用接口做参数,写个计算器,能完成加减乘除运算。 (1)定义一个接口Compute含有一个方法int computer(int n, int m)。 (2)设计四个类分别实现此接口,完成加减乘除运算。 (3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two), 此方法能够用传递过...原创 2018-11-05 20:38:13 · 3863 阅读 · 0 评论 -
接口的练习
按如下要求编写Java程序: (1)定义接口A,里面包含值为3.14的常量PI和抽象方法double area()。 (2)定义接口B,里面包含抽象方法void setColor(String c)。 (3)定义接口C,该接口继承了接口A和B,里面包含抽象方法void volume()。 (4)定义圆柱体类Cylinder实现接口C,该类中包含三个成员变量:底圆半径radius、 圆柱体...原创 2018-11-05 20:44:43 · 255 阅读 · 0 评论 -
Java版-跨平台搜索小工具
一、项目简介 基于Java语言开发的命令行文件搜索小工具。二、项目背景 在Windows平台下进行文件搜索时,只能查询到当前目录下的文件,而且也不如Linux下的find命令好用,所以DIY开发一款命令行工具,可以实现全盘搜索文件。三、实现意义1.解决了Windows命令行下文件搜索的盘符限制问题,可以搜索整个文件系统的内容2.基于Java开发的...原创 2019-03-05 12:36:21 · 260 阅读 · 0 评论