- 博客(34)
- 收藏
- 关注
原创 黑马程序员--内部类的总结(面试题)
8、 定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数。 思路:看到内部类首先想到了内部类的访问规则:1.内部类可以直接访问外部类中的成员包括私有。2.外部类要访问内部类必须建立内部类的对象3.内部类有其他修饰符修饰时,可以看做成带修饰符的函数,其处理方式一样。 分析:内部类分为:
2013-08-12 10:19:34 993
原创 黑马程序员--懒汉式(面试题)
编写一个延迟加载的单例设计模式。 思路:延迟加载便是懒汉式的单例设计模式 方法:1.将构造函数私有化,其他函数就不可以随意加载这个类了 2.建立一个为空的本类对象 3.对外提供一个方法可以获得该类对象,在方法内进行对象的初始化 单例设计模式的懒汉式存在安全问题,所以可以用同步代码块来解决安全问题,并用双重判断来提高效率。 * */class S
2013-08-12 10:17:48 527
原创 黑马程序员--java环境配置(面试题)
4、 为什么需要配置path,什么时候需要classpath? 1. 为何配置path: 在cmd命令中输入一个指令时先在当前文件目录下查找命令文件,path的环境变量中依次查找命令文件,以最先找到的为准,因为配置了path,所以在cmd命令下可以直接输入java和javac等jdk的命令2.为何配置classpath: jvm在查找class文件
2013-08-12 10:15:44 499
原创 黑马程序员--集合的面试题
1、 Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点? 思路:看到Collection立刻明白这道题要考察的是集合的知识。Collection是集合的根接口。Collections是集合的工具类。List和Set是Collection接口的两个子接口。 List接口集合有索引,是靠角标操作元素的,所以List集合内的元
2013-08-12 10:13:11 1388
原创 黑马程序员-----static静态关键字
静态关键字用于修饰成员。被修饰的成员具备以下特点:1.随着类的加载而加载。2.优先于对象。3.被所以对象所共享。4.可以直接被类名调用。 使用注意点:1.静态方法只能访问静态成员。非静态方法即可以访问静态页可以访问非静态。2.静态方法中不可以写this,super关键字。3.主函数是静态的。 静态的利与弊:利: 1.对对象的共享数据进行单
2013-08-04 23:05:23 399
原创 面试题----构造函数与一般函数的区别
构造函数与一般函数的区别:(面试题)1.写法上不同。2.运行上不同:构造函数是在对象一建立就运行,给对象初始化。而一般的方法是对象调用才执行,是給对象添加对象具备的功能。3.运行次数不同:一个对象建立,构造函数只运行一次。而一般方法可以被该对象多次调用。
2013-08-04 22:45:34 482
原创 黑马程序员----对象的第一个特性-----封装
封装:是指隐藏对象的细节和实现细节,仅对外提供公共访问方式。好处:1.将变量隔离 2.便于使用 3.提高重用性 4.提高安全性 封装的原则:1.将不需要对外提供的内容隐藏起来。2.把属性都隐藏,提供公共方法对其访问。 之所以对外提供访问方式,就是因为可以在访问方式中加入逻辑判断等语句。对访问的数据进行操作。提高代码健壮性。
2013-08-04 22:33:55 422
原创 黑马程序员----匿名对象
匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写起来比较简化。匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。
2013-08-04 22:13:09 407
原创 面试题---成员变量和局部变量的区别
1.作用范围不同:成员变量作用于整个类中。局部变量作用于函数中,或者语句中。2.内存的位置:成员变量:在堆内存中,因为对象的存在,才在内存中存在。局部变量:存在栈内存中。
2013-08-04 22:10:03 467
原创 面试题---冒泡排序
思路:冒泡排序就是相邻的俩个数进行比较,大数就交换到前面,比较完后,数组最后一位就是最大的数了。如此循环。 关键代码: for(int x = 0 ;x { for(int y = 0;y { if(arr[y]>arr[y+1]
2013-07-31 00:07:46 409
原创 面试题----选择排序
思路:将一个数组从小到大排序,选择排序就是从第一个数开始依次于后面的数相比较,把最小的数交换到第一位,在拿第2位数于后面比,在找最小的数,进行交换,以此类推。这是就会想到for的循环嵌套了,可以解决这个问题。 关键代码如下: for(int x=0 ;x { for(int y= x+1 ;y {
2013-07-31 00:02:06 450
原创 黑马程序员----数组
数组的概念:是同一种类型数据的集合,其实数组就是一个容器。数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。格式: 元素类型[ ] 数组名 = new 元素类型[元素个数或数组长度 ] 元素类型[ ] 数组名 = new 元素类型[ ]{元素,元素.............}
2013-07-30 23:24:36 321
原创 黑马程序员--函数
函数的学习要从4方面掌握; 1.函数的定义 2.函数的特点 3.函数的应用【重点掌握】 4.函数的重载 1.定义。 函数就是定义在类中具有特定功能的一段独立程序。函数也称方法。【就是把相同的功能抽取出来封装成一个功能】,可以提高代码的复用性。 格式; 修饰符 返回值类
2013-07-30 23:03:33 351
原创 黑马程序员----io流总结
Java流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流 字符流和字
2013-07-25 21:36:52 379
原创 黑马程序员----新特性2——静态导入
在java1.5版本后出现的新特性 在很多时候,会多次重写方法名,很长的时候不方便。 所以在1.5后出现了静态导入,简化了过程。import Static java.long.System.*; //导入了System这个类中的所有静态成员 out.println("haha"); //这时候在写打印这句代码时就可以省去了Systemle 注意:当类
2013-07-23 00:05:20 316
原创 黑马程序员----java新特性
java1.5版本后出现了for的高级应用,取代了迭代器的 部分功能格式: for(数据类型 变量名:被遍历的集合(collection)或者数组) { }特殊的对map集合使用高级for方法Hashmap hm = new hashmaphm.put (1,"a");hm.put(2.,"b");hm.put(3,"c");第一种方法:se
2013-07-22 23:57:02 371
原创 黑马程序员----集合的总结
1、综述 所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。(数组既可以保存基本类型的数据也可以保存对象)。 当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类型(参见具体泛型的内容)。
2013-07-22 22:57:44 359
原创 黑马程序员----泛型
泛型格式:通过《》来定义要操作的引用数据类型。泛型定义在类上:class utlis{对象,方法}泛型定义在方法上:public void print { }泛型定义在类上和定义在方法上的 区别?泛型定义在类上,想要调用同一种方法,不同类型或不同方法的不同类型,要new多次不同类型的类。泛型定义在方法上,想要调用同一种方法,不同类型或不同方法的
2013-07-21 23:30:47 344
原创 黑马程序员----迭代器
1.什么事迭代器其实就是集合取出元素的方式。就是把取出方式定义在集合的内部,这样取出方式就可以直接访问集合内容的元素。那么取出方式就被定义成了内部类。而每一个容器的数据结构不同,所以取出动作的细节也不一样。但是都有共性内容,判断和取出。那么可以将这些共性抽取。例:迭代器的基本使用Interator it =al1.itarator();//获取迭代器用于取出集合中的元素while(
2013-07-21 00:56:32 362
原创 集合类的基础概念
1.为什么出现集合类?面向对象的语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行了存储。集合就是存储对象最常用的一种方式。2.数组和集合类同事容器,有何不同?数组虽然也可以存储对象,但长度是固定的。集合长度是可变的数组中可以存储基本数据类型,集合只能存储对象。3.集合类的特点集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象
2013-07-21 00:48:38 605
原创 string 方法使用总结
1.获取(1)获取字符串的长度int length(int index)(2)根据字符串位置获取字符串上某个字符char charAt(int index)(3)根据字符获取该字符在字符串中的位置int indexof(int ch)返回的是ch在字符串第一次出现的位置。int indexof (int ch ,int fromIndex) 从fromindex指定位置
2013-07-21 00:26:32 392
原创 多线程的等待唤醒机制
需求:想要实现一个线程输入一个值,紧接着另一个线程输出一个值。思路:1. 加入一个布尔的标记,给他初始化值为flase。当进入run方法后先进行判断,是flase则输入值,然后将标记改为true。线程在次进入后发现时true就不让他输入了,直接让他等待wait。然后唤醒另一个线程。 2.当线程运行到了输出线程了,他也是判断布尔标记,为true则输出,为flase则等待
2013-07-20 23:56:46 399
原创 死锁程序(面试题)
死锁:就是同步中嵌套同步,两个同步都想要先运行,互不相让,致使程序无法运行。 一个死锁程序 class Test{ private boolean flag; Test(boolean flag) {
2013-07-20 01:43:35 584
原创 JDK1.5版本出现之前的同步代码块
问题描述:当多条语句在操作一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程便参与进来执行。从而造成了共享数据的错误。 问题分析:对多条操作共享数据的语句,只能让一个线程都执行完。在让其他的线程执行,即在执行的过程中,其他线程不可以参与执行。 解决方案: JAVA中对于多线程的安全问题提供了专业的解决方案,就是同步代码块。 同步可以分别作用
2013-07-20 01:21:50 478
原创 多线程中出现的一个面试题
首先要明确一个概念:在JAVA中继承只能是单继承。 问题:实现方式和继承方式有什么不同? 概念引述: 实现方式:就是指创建线程的第二种方法。 继承方式:便是子类继承父类的过程。 区别: 1.继承方式只可以单继承。而实现方式避免了单继承的
2013-07-20 00:52:33 377
原创 多线程程序及问题引述(第二种创建线程的方法)
class ticket extends Thread / /继承线程类建立子类对象ticket{ privae int tick = 100 ; //定义一个私有的整形常量 public void run() //覆盖run()方法 { while (ture) //目的是让信息进行循环出现
2013-07-20 00:43:26 417
原创 多线程
进程、线程、多线程的概念: 进程:是一个正在执行的程序。每一个进程执行都有一个执行顺序。该顺序是一个执行路径。或一个控制单元。 线程:是进程中一个独立的控制单元。线程控制进程的执行,一个进程中至少有一个线程。 多线程:在一个进程中同时进行多个线程。自定义线程: 通过API的查找,JAVA已经提供了对线程这类事物的描述,就是thread类。创建线程其实就是继承threa
2013-07-17 00:00:25 358
原创 单例设计模式
1.设计模式的含义:就是解决某一问题最行之有效的方法。 2.单例设计模式的中心思想:解决一个类在内存中只有一个对象。(最大程度节省内存) 3.单例设计模式提出的问题: (1).为了避免其他程序过多的建立该类对象,先控制禁止其他程序建立该类对象。 (2)其他程序不能不访问该类的对象,所以要在本类中自己定义一个对象。
2013-07-16 23:25:19 313
原创 包问题小结
理解及作用: 1.对类问题进行分类管理。 2.给类提供多层命名空间。 3.写在程序文件第一行。 4.类名的全称便了写为 包名.类名 5.包夜市一种封装形式。包的关键字:包:package例如: package pack(包名所有字母都必须小写)包与包的访问:1.包与包之间进行访问,被访问的包中的类以及类
2013-07-16 23:22:55 437
原创 异常小结
异常;就是程序运行时出现的不正常情况。学习异常主要掌握俩个思想:一是捕获异常。二是抛出异常。在JAVA中提供了特有的语句进行了异常处理try { 需要检测异常的代码}catch( 异常类 变量){ 处理异常的代码,处理方法}finally{ 一定会执行的语句]用try语句可以捕获异常,而要抛出异常则用throwthrows和 th
2013-07-02 20:54:13 335
原创 内部类小谈
含义:在一个类(1)中在定义多个类(2),其中类(1)叫做外部类,而类(2)叫做内部类。 内部类的访问规则: (1).内部类可以直接访问外部类中的成员(包括私有的) (2)外部类要访问内部类则必须建立内部类的对象。 深入了解: 如果想要直接访问内部类中的成员的话,可以
2013-06-27 21:59:22 347
原创 java多态性总结
(1) 首先,要明确Child对Parent发生了方法的overload还是overwrite,根据参数类型及个数。(2) 如果是overload,则Child继承了Parent的方法,相当于Child多加了父类的方法。(3) 如果是overwrite,则Child类不会有父类的该方法,而是把该方法重写了,所以该方法存在于父类中,子类只是重写了。要想调用父类的该方法,只
2013-06-26 22:41:56 360
原创 继承
继承的优点:1. 提高了代码的复用性。2. 让类与类之间有了关系,有了这个关系才有了多态的特性。3. 继承的关键字:extends 继承类中的三个成员:1.变量 2.函数 3.构造函数 变量:如果子类出现非私有的同名变量时,子类要访问本类的变量用this,访问父类中的同名变量用super. 函数:
2013-06-24 22:13:32 334
原创 单例设计模式
1.设计模式的含义:就是解决某一问题最行之有效的方法。 2.单例设计模式的中心思想:解决一个类在内存中只有一个对象。(最大程度节省内存) 3.单例设计模式提出的问题: (1).为了避免其他程序过多的建立该类对象,先控制禁止其他程序建立该类对象。 (2)其他程序不能不访问该类的对象,所以要在本类中自己定义一个对象。
2013-06-24 22:11:16 261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人