面试题一: String,StringBuffer,StringBuilder的区别?  * A:String是内容不可变的,而StringBuffer,StringBuilder都是内容可变的.  * B:StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高 面试题二:    StringBuffer和数组的区别?而它是最常用的,功能和StringBuffer完全一样  * 二者都可以看成是一个容器,装其他的数据.  * 但是呢,Stri…
笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季> W* @website http://www.imooc.com/view/85 */ 第0章:个人收获与体会 经验总结: - 多练 - 多问 - 自己动手调试错误 - 复习和总结(笔记和犯过的错误) - 学虽容易,学好不易,且学且珍惜 学习这门课程后: 对于有了C++基础的人来说,学习这门课程绝对…
JavaSE 面试题 成员变量与局部变量 public class Test { static int s; int i; int j; { int i = 1; i++; j++; s++; } public void test(int j) { j++; i++; s++; } public static void main(String[] args) { Test t1 = new Test(); Test t2 = new Test(); t1.test(10); t1.test(20…
将对象的存储在数组中会报错 public static void main(String[] args) { ArrayList<Goods> arrayList = new ArrayList<Goods>(); init(arrayList); int size = arrayList.size(); String[] array = (String[] )arrayList.toArray(new String[size]); System.out.println(Array…
之前的代码描述都是基于面向过程的,今天开始正式进入面向对象的世界.什么是对象?首先要区分类和对象的概念-- 现实世界中是如何描述一个事物的? 举例:学生 姓名,年龄,性别... 学习,吃饭,睡觉 属性:该事物的描述信息 行为:该事物能够做什么 学习编程语言,是为了模拟现实世界的事物的. 而学习的编程语言Java中最基本的单位是:类. 所以,我们就应该把事物通过类来体现出来: 由此,我们就得到了现实世界事物和类的对应关系: 事物: 类: 属性 成员变量 行为 成员方法 类:是一组相关的属性和行为的…
找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季  一.简介 1.1 Java SE——基础核心: 以此为基础,又分为Java EE(企业应用开发,JSP等),Java ME(嵌入式开发,安卓等): JVM(Java Virtual Machine): Java虚拟机,使Java代码可以跨平台运行: .java——>编译器——>.class——>解…
java面向对象过程中,最基本的两类变量就是成员变量和局部变量 成员变量是写在类中并且写在方法外部,一般写在每个类的头部,用于初始化或者方法操作,作用域是整个类被实例化到被销毁,中间变量都可以被外部方法(权限为public时)或者内部方法所共享使用,并且可以保持变量的值,就是多个方法可以复用该变量,成员变量一般要加权限修饰符,并且定义成员变量的时候系统会给初始值0 而局部变量作用域只在方法内部,当方法调用完毕,该变量也自动消失,并且只有方法本身可以使用,其他方法或类都不能使用该变量,也就是方法本…
/* 面试题:final修饰局部变量的问题 基本类型:基本类型的值不能发生改变. 引用类型:引用类型的(地址值)(不能发生改变),但是,该对象的堆内存的值是可以改变的. */ class Student { int age = 10; } class FinalTest { public static void main(String[] args) { //局部变量是基本数据类型 int x = 10; x = 100; System.out.println(x); final int y =…
这个面试题有点难度,有一些饶.不明白可以在下面讨论.还是值得搞懂的. / * 看程序写结果: A:成员变量的问题 int x = 10; //成员变量x是基本类型 Student s = new Student(); //成员变量s是引用类型 B:一个类的初始化过程 成员变量的初始化 默认初始化. 显示初始化. 构造方法初始化 C:子父类的初始化(分层初始化) 先进行父类初始化,然后进行子类初始化. 结果: YXYZ 问题: 虽然子类中构造方法默认有一个super() (初始化)的时候,(不是)…
此文章来自于书籍,里面介绍了this和super详细的区别.当然在后边的文章中还有涉及super的时候还会分析. Java关键字this.super使用总结 一.this Java关键字this只能用于方法方法体内.当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this.因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在"Java关键字static.final使用总结"一文中给出了明确解释.…
注:在开始的几篇集合介绍里,不包含泛型的概念.泛型在讲述所有集合后再加入进去. 集合的由来:    我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这(多个对象进行存储). 而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器类型的变量,在我们目前所学过的知识里面,有哪些是容器类型的呢? 数组和StringBuffer.但是呢?StringBuffer的结果是一个字符串,不一定满足我们的要求,所以我们只能选择数组,这就是对象数…
软件中有接口,这里的接口与硬件中的接口还是有很大区别的. 这里介绍接口不考虑JDK8的新特性(JDK8开始接口里面可以有非抽象方法了,介绍JDK8新特性可能要到整个第一季写完吧!) 还是直接进入接口的学习: /* 接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类(实现)接口用implements(执行,实现)表示 class 类名 implements 接口名 {} C:接口不能实例化,就是说不能凭空的创建对象 那么,接口如何实例化呢? 按照多态的方…
通过几个小案例理重新回顾一下前面所写的内容,对面向对象的理解更加深刻的目的: 案例一: /* 需求: 定义一个员工类,自己分析出几个成员, 然后给出成员变量,构造方法,getXxx()/setXxx()方法, 以及一个显示所有成员信息的方法.并测试. 分析: 员工 成员变量: 员工编号,姓名,年龄 构造方法: 无参构造方法 成员方法: getXxx()/setXxx() show(); */ class Employee { //员工编号 private String employeeId; /…
接下来介绍java第三大特性--多态性 /* 多态:同一个对象(事物),在不同时刻体现出来的不同状态. 举例: 猫是猫,猫是动物. 水(液体,固体,气态). 多态的前提: A:要有继承关系. B:要有方法重写. 其实没有也是可以的,但是如果没有这个就没有意义. 动物 d = new 猫(); d.show(); 动物 d = new 狗(); d.show(); C:要有父类引用指向子类对象. 父 f = new 子(); 用代码体现一下多态. 多态中的成员访问特点: A:成员变量 编译看左边,…
java特性封装.继承.多态.之前对封装做了简单描述(见http://blog.csdn.net/qq_32059827/article/details/51312116),今天分析另一个特性继承性: 首先这一片只是对继承概念做一个分析,具体的d代码描述在下一篇开始更新. 首先我来写两个代码: //定义学生类 class Student { String name; int age; public Student(){} //getXxx()/setXxx() public void eat()…
1:打开帮助文档 2:点击显示,找到索引,看到输入框 3:知道你要找谁?以Scanner举例 4:在输入框里面输入Scanner,然后回车 5:看包 java.lang包下的类不需要导入包,其他的全部需要导入. 要导入: java.util.Scanner 6:再简单的看看类的解释和说明,别忘了看看该类的版本 7:看类的结构 成员变量 字段摘要 构造方法 构造方法摘要 成员方法 方法摘要 8:学习构造方法 A:有构造方法 就创建对象 B:没有构造方法 成员可能都是静态的 C:可能是通过在该类总调…
/* static的特点:(它可以修饰成员变量,还可以修饰成员方法) A:随着类的加载而加载 回想main方法. B:优先于对象存在 C:被类的所有对象共享 举例:班级的学生应该共用同一个班级编号. 其实这个特点也是在告诉什么时候使用静态? 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的. 举例: 饮水机(用静态修饰) 水杯(不能用静态修饰) D:可以通过类名调用 其实它本身也可以通过对象名调用. 推荐使用类名调用. 静态修饰的内容一般我们称其为:与(类相关)的,(类)成员 */…
/* 起名字要做到见名知意. this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁. this的场景: 解决局部变量隐藏成员变量 */ //定义学生类 class Student { //姓名 private String name; //年龄 private int age; //姓名获取值 public String getName() { return name;//返回一个String类型的成员变量名称为name的值,其…
/* 定义一个学生类: 成员变量:name,age 成员方法:show()方法 在使用这个案例的过程中,发现了一个问题: 通过对象去给成员变量赋值,可以赋值一些非法的数据.例如:name你赋值了一个30整型数据 这是不合理的. 应该是这个样子的:在赋值之前,先对数据进行判断是什么样的类型. 判断到底在哪里做比较合适呢? StudentDemo类是一个测试类,测试类一般(只创建对象,调用方法.) 所以,这个判断应该定义在Student类中完成. 而我们在成员变量的位置可不可以进行数据判断呢? 是不…
慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Arrays操作数组.foreach循环遍历数组 6.方法的定义,重载调用 跟着慕课网的教程,去一步一步补充完成小练习中的代码,学习效率会比较高~…
根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: * A:定义一个字符串 * B:把字符串转换为字符数组 * C:把字符数组进行排序 * D:把排序后的字符数组转成字符串 * E:输出最后的字符串 */ public class ArrayTest { public static void main(String[] args) { // 定义一个字符串 S…
1. 变量:在java中,我们通过三个元素描述变量:变量类型,变量名以及变量值 注意:java中的标点符号都是英文的 2. 变量名= 首字母+其余部分 字母,+  字母 下划线,  数字 $       ,下划线 $ 注意:变量不能以数字开头 不能以除了下划线,$符之外的其他特殊字符开头 不能是java的关键字,保留字 优秀攻城师习惯:变量名由多个单词组成时,第一个单词的首字母小写,其后单词的首字母大写,驼峰命名法 变量命名时,要见名知意 java变量名没有限制,但是java语言是区分大小写的…
需求:校验用户名和密码,登陆成功后玩猜数字小游戏. 在这里先写集合版.后面还有IO版.数据库版. 一.猜数字小游戏类: 猜数字小游戏的代码见博客:http://blog.csdn.net/qq_32059827/article/details/51355259 二.登陆注册接口. package cn.itcast.dao; import cn.itcast.pojo.User; /** * 这是针对用户进行操作的接口 * * @author 112 * @version V1.0 * */ p…
案例一:去除集合里面的重复元素 package cn.itcast_04; import java.util.ArrayList; /* * ArrayList去除集合中字符串的重复值(字符串的内容相同) * * 分析: * A:创建集合对象 * B:添加多个字符串元素(包含内容相同的) * C:创建新集合 * D:遍历旧集合,获取得到每一个元素 * E:拿这个元素到新集合去找,看有没有 * 有:不搭理它 * 没有:就添加到新集合 * F:遍历新集合 */ public class ArrayL…
1.作用于不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类的内部都是可见的 2.初始值不同 JAVA会给成员变量一个初始值 JAVA不会给局部变量赋予初始值 3.在同一个方法中,不允许有同名局域变量 在不同方法中,可以有同名局域变量 4.两类变量同名时,局域变量具有更高的优先级…
<pre name="code" class="java">/* 代码块:在Java中,使用{}括起来的代码被称为代码块. 根据其位置和声明的不同,可以分为 局部代码块:局部位置,用于限定变量的生命周期. 构造代码块:在类中的成员位置,用{}括起来的代码.每次调用构造方法执行前,都会先执行构造代码块. 作用:可以把多个构造方法中的共同代码放到一起,对对象进行(初始化). 静态代码块:在类中的成员位置,用{}括起来的代码,只不过它用static修饰了. 作…
面试题一: /*         按照要求,补齐代码             interface Inter { void show(); }             class Outer { //补齐代码 }             class OuterDemo {                 public static void main(String[] args) {                       Outer.method().show();           …
/* 看程序写结果:先判断有没有问题,如果没有,写出结果 */ class A { public void show() { show2(); } public void show2() { System.out.println("我"); } } class B extends A { /*public void show() {//注意这里继承过来的方法 show2(); }*/ public void show2() { System.out.println("爱&qu…
/* 继承中构造方法的关系 A:子类中所有(子类的有参和无参)的构造方法(默认都会访问父类)中(空参数)的构造方法,默认访问父类空参数构造,不默认访问有参数构造 B:为什么呢? 因为子类会继承父类中的数据,可能还会使用父类的数据. 所以,子类初始化之前,一定要先完成父类数据的初始化. 注意:子类(每一个构造方法)(无论是无参构造还是有参构造)的第一条语句(默认)都是:super(); */ class Father { int age; public Father() { System.out.…
首先,(1)叙述接口的成员特点: /* 接口成员特点 成员变量:只能是常量,默认都是常量,并且是静态的. 默认修饰符:public static final 建议:自己手动给出类似:public static final int num3 = 30;的格式 构造方法:接口没有构造方法. 成员方法:默认只能是抽象方法. 默认修饰符:public abstract 建议:自己手动给出. 用几行代码验证上述特点. */ interface Inter { public int num = 10; pu…