![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javase基础学习
文章平均质量分 69
l55iuming
这一天我来了,确实来了
展开
-
什么时候使用静态
什么时候使用静态? 要从两方面下手: 因为静态修饰的内容要有成员变量和函数。 什么时候定义静态变量(类变量)呢? 当对象中出现共享数据时,该数据被静态所修饰。 对象中的特有数据要定义成非静态存在于堆内存中。 什么时候定义静态函数呢? 当功能内部没有访问到非静态数据(对象特有数据),那么该功能就可以定义成静态的; 例如: class Person { String原创 2015-07-09 16:02:15 · 1008 阅读 · 0 评论 -
内部类
内部类的访问规则: 1:内部类可以直接访问外部类中的成员,包括私有。 之所以可以直接访问外部类的成员,是因为内部类中持有了一个外部类的引用,(外部类名 . this . +...) Outer.this. 2:外部类要访问内部类,必须创建内部对象; 访问格式: 1,当内部类定义子在外部类的的成员位置上,而且非私有,可以在外部其他类中, 可以直接建立内原创 2015-07-12 20:31:33 · 348 阅读 · 0 评论 -
抽象(继承)
当多个类中出现了相同功能但功能主体不同 ,这时可以进行向上抽取,这时,只抽取功能定义,而不抽取功能主体; 抽象:看不懂。 抽象类特点: 1:抽象方法一定在抽象类中。 2:抽象方法和抽象类必须被abstract关键字修饰 3:抽象类不可以用new创建对象,因为抽象方法没意义 4:抽象类中的方法要被覆盖,必须有子类函数复写所有的抽象方法后,建立子类的对象调用; 如果子类只覆原创 2015-07-11 09:23:57 · 686 阅读 · 0 评论 -
接口
接口:初期理解,可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。 class用于定义类 interface 用于定义接口. 接口定义是,格式特点: 1:接口中常见定义:常量、抽象方法。 2:接口中的成员都有固定修饰符。 常量:public static final 方法:public abstract原创 2015-07-11 15:53:18 · 594 阅读 · 0 评论 -
多态
多态:可以理解为事物存在的多种体现形态。 例如: 人:男人、女人; 动物:猫、狗、猪等; 1:多态基本体现; 父类的引用指向了自己的子类对象; 父类的引用也可以接受自己的本类对象; 2:多态的前提; 必须类与类之间有关系,要么继承要么实现; 通常还有一个前提:存在覆盖; 3:多态的好处; 多态的出现大大的原创 2015-07-11 19:18:01 · 388 阅读 · 0 评论 -
内部类2
内部类什么时候用: 当描述事物时,事物的内部还有事物,该事物用内部类来描述。 因为内部事物在使用外部事物的内容。原创 2015-07-12 21:45:17 · 375 阅读 · 0 评论 -
匿名内部类
匿名内部类: 1:匿名内部类其实就是内部类的简写格式。 2:定义匿名内部类的前提: 内部类必须是继承一个类或者实现接口; 3:匿名内部类的格式:new 父类或者接口(){定义子类的内容} 4:其实匿名内部类就是一个匿名子类对象,而且这个对象有点胖,可以理解为带内容的对象; 5:匿名内部类中定义的方法最好不超过3个; abstract class AbsDemo原创 2015-07-13 09:55:20 · 410 阅读 · 0 评论 -
Java基础学习之多线程
进程:是一个正在执行中的程序。 每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元 线程:就是一个独立的控制单元。 线程在控制着进程的执行。 一个进程中至少有一个线程; 1:如何在自定义的代码中自定义线程呢?原创 2015-07-15 21:10:31 · 493 阅读 · 0 评论 -
几种特殊的多线程函数
静态 如果同步函数被静态修饰后,使用的锁是什么呢? 通过验证,发现不是this 因为静态方法中不可以定义this 静态进内存时,内存中没有本类对象,但是一定有给类对应的字节码文件对象。 类名:class 该对象的类型时Class class Ticket implements Runnable { private int tick=100; public void r原创 2015-07-17 16:56:54 · 488 阅读 · 0 评论 -
多线程间的通讯之等待唤醒机制
线程间的通讯: 其实就是多个线程在操作同一个资源。 但是操作动作不同 例子: 需求:模拟简单卖票系统(输入一个人,紧接着输出一个人) class Res { String name; String sex; } class Input implements Runnable { private Res r; private int t=0; In原创 2015-07-18 09:31:57 · 605 阅读 · 0 评论 -
多线程同步(Lock)
实例 模仿生产者和消费者的模式 先来个两个线程的 class ProducerConsumerDemo { public static void main(String[] args) { Res r=new Res(); Pro in=new Pro(r); Cou out=new Cou(r); Thread t1=new Thread(in);原创 2015-07-18 20:57:58 · 490 阅读 · 0 评论 -
线程几种方法
线程停止: stop方法已经过时; 只有一种,run方法结束。 开启多线程运行,运行代码通常是循环结构。 只要控制住循环,就可以让run方法结束,也就是线程结束; 特殊情况: 当线程处于冻结状态时; 就不会读取到标记,那么线程就不会结束。 当没有指定的方式让冻结的线程恢复到运行状态时,这是需要对冻结进行清除。 强制让线程恢复到运行状态中来,这样就可以操作标记让线程结束。原创 2015-07-19 09:07:33 · 417 阅读 · 0 评论 -
String类(判断和获取)
class StringDemo { public static void main(String[] args) { String s1="abc";//s1是一个类类型变量,所以“abc”是一个对象 //字符串最大的特点:一旦初始化就不可以被改变 s1="kk"; System.out.println(s1); } } 打印的是KK,不是变了吗原创 2015-07-19 15:51:30 · 797 阅读 · 0 评论 -
继承(代码体现)
子父类出现后类中成员的特点; 类中成员: 1:变量 如果子类中出现非私有的同名成员变量时 子类要访问本类中的变量,用this 子类要访问父类中的同名变量,用super super和this的使用几乎一致; this代表的是本类对象的引用,super代表的是父类对象的引用 2:函数 当子类出现和父类一模一样的函数时 当子类对象调用该函数,会运行子类函数的内容 如同父类的函原创 2015-07-10 20:59:41 · 1092 阅读 · 0 评论 -
模块方法设计模式
需求:获取一段程序运行时间 原理:获取程序开始和结束的时间并相减即可 获取时间:System.currentTimeMillis();原创 2015-07-11 11:05:20 · 505 阅读 · 0 评论 -
封装(面向对象)
class Person { int age; void speak() { System.out.println("age="+age); } } class PersonDemo { public static void main(String[] args) { Person p=new Person(); p.age=55; p.sp原创 2015-07-08 21:06:33 · 396 阅读 · 0 评论 -
排序
class ArryDemo { public static void main(String[] args) { int[] a=new int[]{1,2,3,4,5,6}; selectsort(a); for(int i=0;i {if(i!=a.length-1) System.out.print(a[i]+","); else Sy原创 2015-07-08 20:58:19 · 315 阅读 · 0 评论 -
进制转换(数据存储)
class ArrDemo4 { public static void main(String[] args) { tobin(0); toba(60); tohex(-6); } //十进制转二进制 /*public static void tobin(int x) { StringBuffer sb=new StringBuffer原创 2015-07-08 21:03:24 · 445 阅读 · 0 评论 -
构造函数
/* 构造函数 特点: 1.函数名与类名相同 2.不用定义返回值类型 3.不可以写return语句 作用: 给对象进行初始化 注意: 1.默认构造函数的特点。 2.多个构造函数是以重载形式存在的。 */ /* 对象一建立就睡调用与之对应的构造函数。 构造函数的作用:可以用于给对象进行初始化 */ class Person { Perso原创 2015-07-08 20:56:15 · 392 阅读 · 0 评论 -
this的应用
//给人定义一个功能,用来判断是否是同龄人; class Person { private int age; private String name; Person(int age) { this.age=age; } public boolean compare(Person p) { return this.age==p.age;//!原创 2015-07-09 10:06:56 · 589 阅读 · 0 评论 -
构造函数的变量命名
class Person { private String name; private int age; Person() { System.out.println("name="+name+",age="+age); cry(); } Person(String n)//注意!!!! { name=n; System.out.println(原创 2015-07-09 08:57:26 · 1280 阅读 · 0 评论 -
静态
静态:static。 用法:是一个修饰符用于修饰成员(成员变量,成员函数) 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用。 class Person { String name;//成员变量,实例变量 static String country="cn";//静态成员的变量,类变量 int age; public void show()原创 2015-07-09 15:21:24 · 483 阅读 · 0 评论 -
帮助文档的制作(程序说明书)
开始制作程序说明书,Java的说明书通过文档注释来完成。 先注释 /** 这是一个可以对数组进行操作的工具类,该类中提供了:获取最值,排序等功能; @author 刘明 @version V1.123 */ pulic class ArrTool//必须用public修饰 { /** 空参数构造函数 */ private ArrTool(){} /**原创 2015-07-09 20:21:43 · 1512 阅读 · 0 评论 -
单例设计模式
设计模式:解决某一类问题最行之有效的方法。 Java中有23中设计模式: 单例设计模式:解决一个类在内存只存在一个对象 想要保证对象唯一 1:为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象 2:还为了让其他程序访问到该类对象,只好在本类中,自定义一个对象; 3:为了方便其他城促对自定义对象的访问,可以对外提供一些访问方式。 代码体现 1:将构造函数私原创 2015-07-10 09:39:50 · 560 阅读 · 0 评论 -
静态的应用
静态的应用。 每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用; 1.先写一个工具类Java文件 class ArrTool { public int Getmax(int[] arr) { int max=0; for(int x=0;x<arr.length;x++) { if(arr[x]>arr[max]) ma原创 2015-07-09 16:28:20 · 640 阅读 · 0 评论 -
静态代码块
静态代码块: 格式: static { 静态代码块中的执行语句。 } 特点:随着类的加载而执行,只执行一次。并优先于主函数; 用于给类进行初始化 class StaticCode { static { System.out.println("a"); } } class StaticCodeDemo { static { S原创 2015-07-09 21:16:22 · 425 阅读 · 0 评论 -
继承概述
例如: 当我们需要描述学生和工人时,我们发现二者都要进行名字,年龄的描述; 将学生和工人的共性描述提取出来(姓名。年龄描述),单独进行描述; 只要让学生和工人与单独描述的这个类有关系,就可以了; 继承: 1.提高了代码的复用性; 2.让类与类之间产生了关系,有了这个关系,才有了多态的特性; class Person { String name; int age; }原创 2015-07-10 19:59:23 · 557 阅读 · 0 评论 -
Set,List,Map的区别
Set,List,Map的区别 java集合的主要分为三种类型: Set(集)List(列表)Map(映射) 要深入理解集合首先要了解下我们熟悉的数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存转载 2015-10-20 20:07:21 · 342 阅读 · 0 评论