JavaSE_入门教程
王子的秘书
热爱生活!热爱学习!热爱工作!
展开
-
Java语法基础===Java StringBuffer与StringBuider
String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间。StringBuffer类和String类一样,也用来表示字符串,但是StringBuffer的内部实现方式和String不同,在进行字符串处理时,不生成新的对象,在内存使用上要优于String。StringBuffer 默认分配16字节长度的缓冲区,当字符串超过该转载 2016-01-21 10:50:33 · 430 阅读 · 0 评论 -
面向对象高级特性===Java静态内部类、匿名内部类、成员式内部类和局部内部类
内部类可以是静态(static)的,可以使用 public、protected 和 private 访问控制符,而外部类只能使用 public,或者默认。成员式内部类在外部类内部直接定义(不在方法内部或代码块内部)的类就是成员式内部类,它可以直接使用外部类的所有变量和方法,即使是 private 的。外部类要想访问内部类的成员变量和方法,则需要通过内部类的对象来获取。请看下面的代码转载 2016-01-21 16:55:30 · 583 阅读 · 0 评论 -
面向对象高级特性===Java内部类及其实例化
在 Java 中,允许在一个类(或方法、语句块)的内部定义另一个类,称为内部类(Inner Class),有时也称为嵌套类(Nested Class)。内部类和外层封装它的类之间存在逻辑上的所属关系,一般只用在定义它的类或语句块之内,实现一些没有通用意义的功能逻辑,在外部引用它时必须给出完整的名称。使用内部类的主要原因有:内部类可以访问外部类中的数据,包括私有的数据。内部类转载 2016-01-21 16:29:18 · 724 阅读 · 0 评论 -
Java继承和多态=== Java Object类
Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类。例如:public class Demo{ // ...}实际上是下面代码的简写形式:public class Demo extends Object{ /转载 2016-01-21 16:16:29 · 553 阅读 · 0 评论 -
Java继承和多态===Java final关键字:阻止继承和多态
在 Java 中,声明类、变量和方法时,可使用关键字 final 来修饰。final 所修饰的数据具有“终态”的特征,表示“最终的”意思。具体规定如下:final 修饰的类不能被继承。final 修饰的方法不能被子类重写。final 修饰的变量(成员变量或局部变量)即成为常量,只能赋值一次。final 修饰的成员变量必须在声明的同时赋值,如果在声明的时候没有赋值,那么只有 一次赋值的机会,转载 2016-01-21 16:07:36 · 510 阅读 · 0 评论 -
Java继承和多态===Java static关键字以及Java静态变量和静态方法
static 修饰符能够与变量、方法一起使用,表示是“静态”的。静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法。静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。请看下面的例子:public class Demo { static int i转载 2016-01-21 15:59:43 · 974 阅读 · 0 评论 -
Java继承和多态===Java多态对象的类型转换
这里所说的对象类型转换,是指存在继承关系的对象,不是任意类型的对象。当对不存在继承关系的对象进行强制类型转换时,java 运行时将抛出 java.lang.ClassCastException 异常。在继承链中,我们将子类向父类转换称为“向上转型”,将父类向子类转换称为“向下转型”。很多时候,我们会将变量定义为父类的类型,却引用子类的对象,这个过程就是向上转型。程序运行时通过动态绑转载 2016-01-21 15:48:51 · 1394 阅读 · 0 评论 -
Java继承和多态===Java instanceof 运算符
多态性带来了一个问题,就是如何判断一个变量所实际引用的对象的类型 。 C++使用runtime-type information(RTTI),Java 使用 instanceof 操作符。instanceof 运算符用来判断一个变量所引用的对象的实际类型,注意是它引用的对象的类型,不是变量的类型。请看下面的代码:复制纯文本新窗口public final class转载 2016-01-21 15:37:05 · 934 阅读 · 0 评论 -
Java继承和多态===Java多态和动态绑定
在Java中,父类的变量可以引用父类的实例,也可以引用子类的实例。请读者先看一段代码:public class Demo { public static void main(String[] args){ Animal obj = new Animal(); obj.cry(); obj = new Cat();转载 2016-01-21 15:32:32 · 623 阅读 · 0 评论 -
Java继承和多态===Java继承中方法的覆盖和重载
在类继承中,子类可以修改从父类继承来的方法,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的名称、返回值类型、参数列表。如果在新类中定义一个方法,其名称、返回值类型和参数列表正好与父类中的相同,那么,新方法被称做覆盖旧方法。参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。被覆盖的方法在子类中只能通过super调用转载 2016-01-21 15:10:06 · 571 阅读 · 0 评论 -
Java继承和多态===Java super关键字
super 关键字与 this 类似,this 用来表示当前类的实例,super 用来表示父类。super 可以用在子类中,通过点号(.)来获取父类的成员变量和方法。super 也可以用在子类的子类中,Java 能自动向上层类追溯。父类行为被调用,就好象该行为是本类的行为一样,而且调用行为不必发生在父类中,它能自动向上层类追溯。super 关键字的功能:调用父类中声转载 2016-01-21 15:02:02 · 1089 阅读 · 0 评论 -
Java继承和多态===Java继承的概念与实现
继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。继承使用 extends 关键字。例如我们已经定义了一个类 People:class People{ String name; int age; i转载 2016-01-21 13:55:04 · 786 阅读 · 0 评论 -
Java类与对象===再谈Java包
在Java中,为了组织代码的方便,可以将功能相似的类放到一个文件夹内,这个文件夹,就叫做包。包不但可以包含类,还可以包含接口和其他的包。目录以"\"来表示层级关系,例如 E:\Java\workspace\Demo\bin\p1\p2\Test.java。包以"."来表示层级关系,例如 p1.p2.Test 表示的目录为 \p1\p2\Test.class。如何实现包转载 2016-01-21 13:48:25 · 453 阅读 · 0 评论 -
Java类与对象===Java包装类、拆箱和装箱详解
虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性、没有方法可调用。 沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单、有效地进行常规数据处理。这种借助于非面向对象技术的做法有时也会带来不便,比如引用类型数据均继承了 Object 类的特性,要转换为 String 类型(经常有这种需要)时只要简单转载 2016-01-21 13:45:38 · 427 阅读 · 0 评论 -
Java类与对象===Java变量的作用域
在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。类级变量又称全局级变量或静态变量,需要使用static关键字修饰,你可以与 C/C++ 中的 static 变量对比学习。类级变量在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。对象实例级变量就是成员变量,实例化后才会分配内存空间,才能访问。方法级变量就是在方法内部定义的变量,就是转载 2016-01-21 11:51:19 · 3825 阅读 · 0 评论 -
Java类与对象===Java访问修饰符(访问控制符)
Java 通过修饰符来控制类、属性和方法的访问权限和其他功能,通常放在语句的最前端。例如:public class className { // body of class}private boolean myFlag;static final double weeks = 9.5;protected static final int BOXWIDTH = 42;public s转载 2016-01-21 11:07:02 · 1005 阅读 · 0 评论 -
面向对象高级特性===Java抽象类的概念和使用
在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象。甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现。这种只给出方法定义而不具体实现的方法被称为抽象方法,抽象方法是没有方法体的,在代码的表达上就是没有“{}”。包含一个或多个抽象方法的类也必须被声转载 2016-01-22 09:44:57 · 583 阅读 · 0 评论