JAVA初学
文章平均质量分 57
wu_lai_314
这个作者很懒,什么都没留下…
展开
-
JAVA 模板方法模式
//仅作为在线学习笔记/*需求:获取一段程序运行的时间获取时间函数:System.currentTimeMillis();模板方法在定义功能时,功能的一部分是确定,但有一部分是不确定的,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴漏出去*/abstract class GetTime{ public final void getTime()/原创 2013-03-03 17:07:22 · 448 阅读 · 0 评论 -
JAVA 接口1
//仅作为在线学习笔记/* 接口:初期理解,可以认为这是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类就可以通过接口的形式来表示 class 用于定义类 interface用于定义接口 接口定义时 1,接口中常见的定义 :常量,抽象方法 2,成员的固定修饰符 常量:public static final 方法:public abstract原创 2013-03-03 22:23:14 · 422 阅读 · 0 评论 -
JAVA 接口2
//仅作为学习笔记interface Inter{ public static final int NUM =3; public abstract void show(); }interface InterA{ public abstract void show();}class Demo{ public void function(){}}class原创 2013-03-03 22:41:38 · 427 阅读 · 0 评论 -
JAVA多态 扩展性及 转型
//仅作为学习笔记/* 1,多态的体现 父类的引用指向自己的子类对象 父类的引用也可以接收自己的子类对象 2,多态的前提 必须是类与类之间有关系,要么继承 要么实现 通常还有一个前提:存在覆盖 3,多态的好处 多态的出现大大的提高了程序的扩展性 4,多态的弊端 提高了扩展性,但是只能使用父类的引用来访问父类中的成员 5,多态的引用*/abstract cla原创 2013-03-04 00:27:14 · 1220 阅读 · 0 评论 -
JAVA 多态
//仅作为学习笔记、//多态示例abstract class Student{ public abstract void study(); public void sleep()//由于绝大多数的子类都继承该功能 故在此实现 //若有子类(如此处的BaseStudent)有改动 可自己覆盖 { System.out.println("每天睡8小时!"); }原创 2013-03-04 13:39:10 · 490 阅读 · 0 评论 -
JAVA 多态中成员的特点
//仅作为学习笔记class Fu{ int num = 5; void method1() { System.out.println("fu method_1"); } void method2() { System.out.println("fu method_2"); } static void method4() { System.ou原创 2013-03-04 16:30:28 · 1800 阅读 · 0 评论 -
JAVA Object类-equals()
//仅作为学习笔记/* Object : 是所有对象的直接或者间接父类 该类中定义的肯定是所有对象都具备的功能 Object类中已经提供了对对象是否相同的比较方法 如果自定义类中也有比较相同的功能 ,没有必要重新定义 只要沿袭父类中的功能,建立自己特有的比较内容即可,这就是覆盖*/class Demo //extends Object{ private int原创 2013-03-04 19:11:54 · 498 阅读 · 0 评论 -
JAVA 内部类
//仅作为学习笔记/* 将一个类定义在另一个类的内部,里面的那个类就称为内部类(内置类,嵌套类) 访问特点: 内部类可以直接访问外部类的成员,包括私有成员 而外部类要访问内部类中的成员,必须建立内部类的对象访问格式:1,当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中可以直接建立内部类对象 格式: 外部类名.内部类名 变量名 = 外部类对象.内部原创 2013-03-04 22:11:28 · 433 阅读 · 1 评论 -
JAVA Object类 toString()
//仅作为学习笔记class Demo //extends Object{}class Test{ public static void main(String []args) { Demo d1 = new Demo(); Class c = d1.getClass(); System.out.println(c.getName());//获取类名原创 2013-03-04 20:09:11 · 493 阅读 · 0 评论 -
JAVA 内部类
//仅作为学习笔记/* 内部类定义在局部时 1,不可以被成员修饰符修饰 2,可以直接访问外部类中的成员,因为还持有外部类中的引用 但是不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量*/class Outer{ int x = 4; void method(final int a) { final int y = 5;//用final修饰 c原创 2013-03-06 21:35:47 · 540 阅读 · 0 评论 -
JAVA 异常 try-catch
//仅作为学习笔记/*异常概述异常:就是程序在运行时出现的不正常的情况异常的由来:问题也是现实生活中一个具体的事物,也可通过java的类的形式进行描述,并封装成对象 其实就是java对不正常情况进行描述后的对象体现对于问题的划分:1,一种是严重的问题:对于严重的java通过Error类进行描述 对于Error一般不编写针对性的代码对其进行处理2,另一种是非严原创 2013-03-06 21:39:49 · 795 阅读 · 0 评论 -
JAVA 匿名内部类
//仅作为学习笔记/*匿名内部类:1,匿名内部其实就是内部类的简写格式2,定义匿名内部类的前提: 内部类必须是继承一个类 或者实现接口3,匿名内部类的格式: new 父类或者接口(){定义子类的内容}4,匿名内部类就是一个匿名子类对象。而且这个对象有点胖,可以理解为带内容的对象5,匿名内部类中定义的方法最好不超过3个*/abstract class AbsDemo原创 2013-03-06 21:37:52 · 652 阅读 · 0 评论 -
JAVA throws
//仅作为学习笔记class Demo{ int div(int a,int b) throws Exception//在功能上通过throws的关键字声明该功能可能出现问题 { return a/b; }}class ExceptionDemo{ public static void main(String[]args) //throws Exceptio原创 2013-03-07 13:37:49 · 753 阅读 · 0 评论 -
JAVA 自定义异常
//仅作为学习笔记/* 因为项目中会出现特有的问题 而这些问题并未被java所描述并封装对象 所以对于这些特有的问题可以按照java的对问题封装的思想 将特有的问题进行自定义的异常封装自定义异常需求:在本程序中,对于除数是负数,也视为是错误的是无法进行运算的那么就需要对这个问题进行自定义的描述一般情况下,函数内出现异常,函数上需要声明发现打印的结果中只有原创 2013-03-07 20:17:04 · 688 阅读 · 0 评论 -
JAVA 覆盖时异常的特点
//仅作为学习笔记/*异常在子父类覆盖中的体现1,子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类2,如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集3,如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不能抛出异常 如果子类方法发生了异常,就必须要进行try处理,绝对不能抛*/cl原创 2013-03-07 23:28:52 · 1857 阅读 · 0 评论 -
JAVA 多异常处理
//仅作为学习笔记/*对对异常的处理1,声明异常时,建议声明更为具体的异常,这样可以处理的更具体2,对方声明几个异常,就对应几个catch块, 如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面建议在进行catch处理时,catch中一定要定义具体处理方式不要简单的定义一句 e.printStackTrace()也不要简单的就书写一条输出语句原创 2013-03-07 15:08:42 · 1289 阅读 · 0 评论 -
JAVA throws和throw的区别
//仅作为学习笔记/*throws 和throw的区别1,throws使用在函数上。2,throw使用在函数内。throws后面跟的异常类可以跟多个,用逗号隔开throw后面跟的是异常对象。*/class FuShuException extends Exception{ private int value; FuShuException(String原创 2013-03-07 20:21:49 · 696 阅读 · 0 评论 -
JAVA RuntimeException
//仅作为学习笔记/*Exception 中有一个特殊的子类异常RuntimeException 运行时异常如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。如果在函数上声明了该异常,调用者可以不用进行处理,编译一样通过之所以不用在函数声明,是因为不需要让调用者处理当该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行原创 2013-03-07 21:00:58 · 1003 阅读 · 0 评论 -
JAVA 异常-finally
//仅作为学习笔记/*finally 代码块;定义一定执行的代码通常用于关闭资源public void method ()throws SQLException{ try { 连接数据库; 数据操作; } catch(SQLException e) { 会对数据库进行异常处理; } finally { 关闭数据库; }}*/原创 2013-03-07 22:39:02 · 696 阅读 · 0 评论 -
JAVA 异常处理练习
//仅作为学习笔记/* 异常练习1*/class NoValueException extends Exception{ NoValueException(String msg) { super(msg); }}interface Shape{ void getArea();}class Rec implements Shape{ pr原创 2013-03-08 00:20:15 · 1350 阅读 · 0 评论 -
JAVA 包与包之间访问(package)
//仅作为学习笔记一、包的用处对类文件进行分类管理。给类提供多层命名空间。写在程序文件的第一行。类名的全称的是 :包名.类名。包也是一种封装形式。package cn.itstu;class PackageDemo{ /* 用javac -d . PackageDemo.java 在当前目录下自动生成包的文件夹 【javac -转载 2013-03-09 19:43:28 · 8760 阅读 · 0 评论 -
JAVA 异常-总结
//仅作为学习笔记 异常:是对问题的描述,是将问题进行对象的封装 异常体系: Throwable |--Error |--Exception |--RuntimeException 异常体系的特点:异常体系中的所有类以及建立的的对象都具备可抛性 也就是说可以被throw 和 throws关键字所操作 只有异常体系具备这个特点原创 2013-03-08 16:29:31 · 886 阅读 · 0 评论 -
JAVA 多线程-死锁
//仅作为学习笔记下面是产生死锁常见的原因/*死锁同步中嵌套同步*/class Test implements Runnable{ private boolean flag; Test(boolean flag) { this.flag = flag; } public void run() { if(flag) { synchronized(M原创 2013-03-10 21:16:47 · 649 阅读 · 0 评论 -
JAVA 多线程 线程间的通讯
//仅作为学习笔记/* 编程间通讯: 其实就是多个线程在操作同一个资源 但是操作的动作不同wait();notify();notifyAll();都使用在同步中,因为要对持有的监视器(锁)的线程操作所以要使用在同步中,因为只有同步才具有锁将这些操作线程的方法定义在Object类中的原因是因为这些方法在操作同步线程时,都需要标示他们所操作线程持有的锁只有原创 2013-03-11 11:00:47 · 695 阅读 · 0 评论 -
JAVA 实现Runnable接口
//仅作为学习笔记/* 需求: 实现一个售票程序 创建线程的第二种方式:实现Runnable接口 步骤: 1,定义类实现Runnable接口 2,覆盖Runnable接口中的run方法 将线程要运行的代码存放在该run方法中 3,通过Thread 类建立线程对象 4,将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数 为什么要将Ru原创 2013-03-10 11:00:13 · 25356 阅读 · 0 评论 -
JAVA 同步代码块synchronized
//仅作为学习笔记/*JAVA对于多线程的安全问题提供了专业的解决方式就是同步代码块synchronized(对象)//这个对象可以为任意对象{ 需要被同步的代码}对象如同锁,持有锁的线程可以在同步中执行没持有锁的线程即使获取CPU的执行权,也进不去同步的前提:1,必须要有两个或者两个以上的线程2,必须是多个线程使用同一个锁 必须保证同步中只能有一个线程在原创 2013-03-10 14:49:52 · 29318 阅读 · 1 评论 -
JAVA进制转换1
//仅作为学习记录class ArrayTest{ public static void main(String[] args) { int num = 6; System.out.print("toBin(6)="); toBin( num ); System.out.print("toBin(60)="); System.out.println(Intege原创 2013-02-27 12:19:36 · 540 阅读 · 0 评论 -
JAVA 多线程静态同步函数的锁是class 对象
//仅作为学习笔记/* 通过验证发现 同步函数如果被静态修饰后,不再以this 为锁 静态进内存时,内存中没有本类对象,但是一定有该类的字节码文件对象 类名.class 该对象的类型是class 静态的同步方法,使用的锁是该方法所在类的字节码文件对象。类名.class*/class Ticket implements Runnable{ private sta原创 2013-03-10 19:25:40 · 5731 阅读 · 0 评论 -
JAVA 多线程-单例设计模式-懒汉式
//仅作为学习笔记/* 单例设计模式 /* 饿汉式 //饿汉式在多线程中 比懒汉式更安全高效 不会出现一个对象被实例化多次 class Single { private static final Single s = new Single(); private Single(){} public static Single getInstance()原创 2013-03-10 20:02:24 · 1122 阅读 · 0 评论 -
JAVA 线程Thread
//仅作为学习笔记/*进程:是一个正在执行中的程序 每个进程都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元线程:就是进程中的一个独立的控制单元 线程在控制着进程的执行一个进程中至少有一个线程JAVA VM 启动的时都会有一个进程java.exe该进程中至少一个线程负责Java程序的执行而且这个线程运行的代码存在于main方法中该线程称为主线程原创 2013-03-09 23:22:18 · 979 阅读 · 0 评论 -
JAVA 同步函数
//仅作为学习笔记/* 多线程 同步函数 练习1,明确哪些代码是多线程运行代码2,明确共享数据3,明确多线程运行代码中哪些语句是操作共享数据的*/class Bank{ private int sum =0; //Object obj = new Object(); public synchronized void add(int a)//同步函数 {/原创 2013-03-10 18:22:05 · 3107 阅读 · 1 评论 -
JAVA 同步函数以this为锁
//仅作为学习笔记/* 同步函数用的是this锁 函数需要被对象调用。那么函数都有一个所属对象调用,就是this 所以同步函数使用的锁是this 通过该程序进行验证 使用两个线程来卖票 一个线程在同步代码块中 一个线程在同步函数中 都在执行卖票操作*/class Ticket implements Runnable{ private int原创 2013-03-10 19:07:37 · 5272 阅读 · 0 评论 -
JAVA进制转换2
//仅作为学习记录public class ArrayTest{ public static void main(String [] args){ toBin(6); toBin(-6); toOct(60); toOct(-60); toHex(60); toHex(-60); } public static void toBin(int num原创 2013-02-27 12:38:01 · 404 阅读 · 0 评论 -
JAVA 线程间通信 - 生产者与消费者
//仅作为学习笔记/* 多线程编程 生产者和消费者*/class Res{ private int count=0; private String name; private boolean flag = false; public synchronized void set(String name) { while(flag) try{wait()原创 2013-03-11 18:00:20 · 878 阅读 · 0 评论 -
JAVA 线程间通信 -生产者消费者JDK5.0升级版
//仅作为学习笔记/* JDK1.5中提供了多线程升级解决方案 将同步Synchronized替换成现实Lock操作 将Object中的wait,notify, notifyAll,替换成了Condition对象 该对象可以是Lock锁,进行获取*/import java.util.concurrent.locks.*;class Res{ private int原创 2013-03-11 19:25:10 · 983 阅读 · 0 评论 -
Java 构造函数及构造代码块
//仅作为学习笔记class PersonDemo { public static void main(String[] args) { Person p = new Person(); p.setAge(20); System.out.println("---------------------"); Person p2 = new Person("shao原创 2013-02-27 22:39:05 · 558 阅读 · 0 评论 -
JAVA this关键字的使用
//仅作为学习记录/* this 指向内幕的对象*/class PersonDemo { public static void main(String[] args) { Person p = new Person("lisi",20); }}class Person{ private String name; private int age原创 2013-02-27 22:57:50 · 541 阅读 · 0 评论 -
JAVA 静态代码块
//仅作为学习笔记/* 静态代码块 :只执行一次*/class StaticCode{ static { System.out.println("a"); }}class StaticCodeDemo{ static { System.out.println("b"); } public static void main(String[原创 2013-02-28 19:56:30 · 438 阅读 · 0 评论 -
JAVA单例设计模式
//仅作为学习记录/* 设计模式 : 解决某一类问题最行之有效的方法 java中有23中设计模式 单例设计模式:解决一个类中只有一个对象想要保证对象唯一1,为了避免其他程序过多建立该类对象,先控制禁止其他程序建立该类对象2,还为了让其他程序可以访问到该类对象,只好在本类中自定义一个对象3,为了方便其他程序对该自定义对象的访问,可以提供一些访问方式实现:1原创 2013-02-28 21:51:09 · 378 阅读 · 0 评论 -
JAVA main函数
//仅作为学习记录/*public static void main(String []args){}主函数是一个特殊的函数 作为程序的入口 可以被 jvm调用主函数的定义public : 代表着该函数访问权限是最大的static : 代表主函数随着类的加载就已经存在了void : 主函数没有具体的返回值main:不是关键字 但是是一个特殊的单词 可以被jvm识原创 2013-02-28 18:05:04 · 516 阅读 · 0 评论