Java面向对象
太狠太残忍
不知名程序猿,主要使用的编程语言是Java,专注于Java生态。喜欢折腾开源技术,目前在关注Nodejs。
展开
-
Java面向对象(一)
面向对象 对象 :客观存在的物体 是结构化数据.也就是: 对象就是数据 对象由属性组成 类: 类是对象的结构定义, 是对象的结构模板.利用类来创建对象.根据对象的特征设计(抽象出)类. 引用:引用是指向对象的代词,引用变量通过对象地址间接引用了内存堆中的对象. 属性:是对象的特征,在类上定义(声明),是属于对象个体的变量 方原创 2013-11-27 22:23:24 · 55705 阅读 · 0 评论 -
关键字 static 静态的
关键字 static 静态的 一、 静态的属性: 只有"一份"(相当于全局变量) 1) 是属于类的属性 2) 使用类名方访问(在本类中可以省略) 3) 是在类的加载期间分配,在方法区中分配4) 静态属性在软件运行期间只有"一份"package day04;/** * 静态的属性: 只有"一份"(相当于全局变量) 1) 是属于类的属性原创 2013-11-30 14:55:20 · 816 阅读 · 0 评论 -
静态方法
package day04;/** * 静态方法 1) 是属于类的方法 2) 使用类名直接调用, 在本类中可以省略类名 3) 静态方法中"没有" 隐含参数this(super) 3.1 静态方法不能访问当前对象(this)的属性和方法 4) 静态方法经常用于工具方法和工厂方法 与当前对象无关的方法, 使用静态方法 */publi原创 2013-11-30 23:44:50 · 240929 阅读 · 0 评论 -
Java面向对象【经典案例】强制/自动类型转换与类型安全的转换
package day03;/** * 造型: 父类型变量引用子类型实例 * Number: 数 * |-- Integer 整数 * |-- Double 浮点数 * |-- Long */public class Demo06 { public static void main(String[] args) {//造型: 自动类型转换, 子类到父类原创 2013-11-30 23:34:43 · 1613 阅读 · 0 评论 -
Java面向对象【经典案例】构造器
package day03;/** * 1 构造器不能继承 * 2 子类一定调用父类构造器 * 2.1 Java 默认情况下, 子类构造器自动调用父类无参构造器 * 2.2 如果父类没有无参是构造器, 必须使用super()在 * 子类构造器中调用父类构造器. * super(8) 必须用在子类构造器的第一行! */public class Demo04原创 2013-11-30 23:32:19 · 1539 阅读 · 0 评论 -
Java面向对象【经典案例】参数:尽可能简单的转换
package day02;/** * 参数: 尽可能简单的转换(就近原则) */public class Demo08 { public static void main(String[] args) { Goo g = new Goo('A'); //请选择输出结果: //A.编译错 B.运行异常 C.Goo(long) D.Goo(int) }}class G原创 2013-11-30 23:14:53 · 1066 阅读 · 0 评论 -
Java中对象的实例化过程
Java中对象的实例化过程:1.递归地在堆中首先创建其父类对象,调用父类构造方法。2.然后才创建对象自己,执行构造方法实例化。3.Java 中类的构造方法默认第一行都是super(),即调用父类构造方法。4.在对象的实例化过程中,若类中有代码块或静态代码块,代码块是先于构造方法执行的,静态代码块是在类加载(JVM的ClassLoad)时执行的当然也先与构造方法了。package原创 2013-11-30 23:30:54 · 1935 阅读 · 0 评论 -
Java面试题精选(一)基础概念和面向对象
-- 基础概念和面向对象 -- 全程将为大家剖析几大部分内容,由于学习经验有限,望大家谅解并接受宝贵的意见: 基础概念部分 ★★ : 常出现的高频率单词的区别理解(异常、静态、抽象、接口、集合等); 深入理解部分 ★★★★: 重点掌握的面向对象的理论知识(对象、排序、字节字符流); 线程编程部分原创 2013-12-02 22:32:12 · 4968 阅读 · 0 评论 -
Java基础六大必须理解的问题
话不多说,怕你们嫌烦,望各位轻拍问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。 这个语句声明的是一个指向对象的引用,名为“s”,可以指向类原创 2013-12-02 22:59:46 · 1964 阅读 · 0 评论 -
代码块和静态代码块
代码块: 是在创建对象期间执行的代码块。类似构造器,一般使用构造器代替代码块的功能。(优先于构造方法执行)静态代码块: 在类加载期间执行的代码块, 只执行一次。有时候用于加载一次性资源, 如:背景图片 package day04;/** * 代码块: 是在创建对象期间执行的代码块 * 静态代码块: 在类加载期间执行的代码块, 只执行一次 * 静态代码块: 有时候用于原创 2013-11-30 14:57:36 · 1280 阅读 · 1 评论 -
final关键字
final : 最终 final 的类 1) 不能再被子类继承. 2) 不能被子类修改了! 3) 很少使用final类! 影响"动态代理"实现. Java API 中的final类: String IntegerDouble Long Math class MyString extends Strin原创 2013-11-30 15:01:23 · 87854 阅读 · 0 评论 -
Java面向对象【经典案例】Java 只有一种参数参数传递规则: 基于值的传递!
package day03;/** * Java 方法的参数传递方式 Java 只有一种参数参数传递规则: 基于值的传递! */import java.util.Arrays;public class Demo02 { public static void main(String[] args) { Koo koo = new Koo(); int a = 5; ko原创 2013-11-30 23:19:40 · 850 阅读 · 0 评论 -
Java面向对象的一些概念和原理
1 简答题(写概念,思原理)1.1 什么是类。参考答案:类是一个概念(名词)抽象的定义。类定义了该类型对象的数据结构,称之为“成员变量”,同时,也定义了一些可以被调用的功能,称之为“方法”。类是用于构建对象的模板,对象的实质就是内存中一块存储区域,其数据结构由定义它的类来决定。1.2 请简述JVM内存结构堆,栈和方法区分别存储的内容。参考答案:原创 2013-11-30 22:59:27 · 2146 阅读 · 1 评论 -
Java面向对象【经典案例】类的属性是属于对象的,方法是动态绑定到对象的
1、类的非静态属性是属于对象的,方法是动态绑定到对象的2、类的静态属性是属于类本身的,在方法区中分配空间(类的方法也在方法区中分配,只有一份,对象们公用一份方法)。package day03;/** * 父子类型具有相同属性, 的访问规则 * 人 * |-- 骗子 * 1) 属性绑定到变量的类型 * 2) 方法是动态绑定到对象的类型 * 3) 一般不建议在原创 2013-11-30 23:38:51 · 1132 阅读 · 0 评论 -
抽象类
package day04;/** * 抽象类 * 1) 用于表示抽象概念 * 2) 抽象类只能被继承 * 3) 抽象类不能被实例化, 不能new * 4) 抽象类作为顶层类, 可以定义公共的属性和方法 * 5) 抽象类的实现, 一定是多态 * 6) 抽象类中可以定义抽象方法 * 抽象方法: * 1) 没有方法体{}的方法 * 2) 使用abstract原创 2013-11-30 15:02:05 · 853 阅读 · 0 评论 -
Java面向对象(二)
面向对象(二)[Java语言基础](2013/11/28-day03课程笔记) 继承:表示父子概念的关系, XXX类型是XXX的一种 语法: 1) extends(扩展)关键字,子类型(Sub Class)是对父类型 的扩展 2) 父类型(超类 Super Class)的属性和方法, 被子类型继承可以继承的才能继承, 3)原创 2013-11-28 22:07:31 · 1051 阅读 · 0 评论 -
fianl 变量,只能初始化一次, 不能再修改的变量!
package day04;/** * fianl 变量 1) 只能初始化一次, 不能再修改的变量! */public class Demo04 { public static void main(String[] args) { final int a;//声明/定义 变量 int b; a = 1;//初始化, 第一次赋值 b = 1; //a = 8;/原创 2013-12-01 00:21:26 · 89768 阅读 · 0 评论 -
代码块与静态代码块
package day04;/** * 代码块: 是在创建对象期间执行的代码块 * 静态代码块: 在类加载期间执行的代码块, 只执行一次 * 静态代码块: 有时候用于加载一次性资源, 如:背景图片 */public class Demo03 { public static void main(String[] args) { new Koo(); new Koo()原创 2013-11-30 23:45:29 · 17658 阅读 · 0 评论 -
静态的属性: 只有"一份"(相当于全局变量)
package day04;/** * 静态的属性: 只有"一份"(相当于全局变量) 1) 是属于类的属性 2) 使用类名方访问(在本类中可以省略) 3) 是在类的加载期间分配, 在方法区中分配 4) 静态属性在软件运行期间只有"一份" */public class Demo01 { public static void main(String[] a原创 2013-11-30 23:43:55 · 1287 阅读 · 0 评论 -
Java面向对象【经典案例】数组是对象,其变量的值是引用地址
package day03;import java.util.Arrays;public class Demo01 { public static void main(String[] args) { //变量的赋值, 修改变量的值 int a = 5; int b = a; b = 8; System.out.println(a);//5 int[] ary原创 2013-11-30 23:18:32 · 1489 阅读 · 0 评论 -
Java二维数组是假的,Java只有一维数组
二维数组是假的! 实际上是一维数组.的每个元素还是 一个一维数组, 元素是数组的数组package day04;/** * 二维数组 * 1) 二维数组是假的! 实际上是一维数组.的每个元素还是 * 一个一维数组, 元素是数组的数组. */public class Demo07 { public static void main(String[] args) {原创 2013-11-30 15:03:12 · 1220 阅读 · 0 评论