1.使用构造器确保数据初始化
/* *在ReckInitDemo类中创建Reck的对象 */ public class ReckInitDemo { public static void main(String[] args) { //创建Reck对象 new Reck(); } } //内部类 class Reck { // 初始化数据 public Reck() { // 确保对象在被创建时有数据 System.out.println("数据被初始化"); } }
运行结果: 数据被初始化
当执行new Reck();时,将会为对象分配存储空间,并调用相应的构造器,保证了操作的对象是已经被初始化了的
2,方法的重载;
package com.wj.init; /** * * @author Administrator *调用重载的类 */ public class OverrideDemo { public static void main(String[] args) { new OverrideInit();//调用无参构造方法 new OverrideInit(5);//调用int类型的构造方法 } } //内部类 class OverrideInit { // 构造方法: // 1,访问控制必须是public // 2,构造方法的名称和类的名称完全一样 // 3,不能有相同的两个构造方法参数和名称是完全一样的 int i; // 无参构造方法 public OverrideInit() { System.out.println("被调用了"); } // int类的构造方法 public OverrideInit(int i) { i++; System.out.println(i); } }
运行结果:
被调用了
6
当 new OverrideInit();对象是可以不传参数也可以传参数,,这就是方法的重载
3,默认构造器的简单使用;
在2中我们已经使用了 new OverrideInit();,这就是一个简单的默认构造器
package com.wj.init; /** * * @author Administrator 默认构造器的使用 系统类 的默认构造器; 自定义类默认器的使用 */ public class DefaultDemo { // 系统会默认添加DefaultDemo的构造方法,它的作用是创建一个默认 // 的对象,如果我们创建的类中额米有构造器,系统会默认的帮我们创建一个默认的构造器 // public DefaultDemo() { // } public static void main(String[] args) { // 创建 new DefaultDemo(); // new // DefaultDemo();创建了一个对象, //并调用其默认的构造方法-如果我们没有定义这个构造器, //没有这个构造器我们就不能创建对象,也就不能去调用方法, //但是如果定义了一个(无论是否有参数),编译器都不会自动创建默认的构造器 System.out.println("成功创建了"); } }
自定义构造器:
public class DefaultDemo { //自定义一个有参数构造器,系统不会再创建默认的构造器 public DefaultDemo(int i) { } public static void main(String[] args) { // 创建 new DefaultDemo(); // new // DefaultDemo();创建了一个对象, //并调用其默认的构造方法-如果我们没有定义这个构造器, //没有这个构造器我们就不能创建对象,也就不能去调用方法, //但是如果定义了一个(无论是否有参数),编译器都会自动创建默认的构造器 System.out.println("成功创建了"); } }
无法编译:构造器无法匹配
4,this关键字
this区别当前的对象
/* * this的简单使用 */ public class ThisDemo { private static int i; //使用this区分当前i的区别 android和oracle都有相关的使用 public ThisDemo(int i){ this.i=i; } public static void main(String[] args) { new ThisDemo(8); System.out.println(i); } }
5,静态代码块初始化,静态数据初始化,
/** * * @author Administrator Static代码块的初始化,Static数据初始化 */ public class StaticDemo { // 静态属性,静态代码块,代码块的执行顺序 // 静态属性-->静态代码块-->代码块 static int i = 0; static { // 静态代码块,适合数据的初始化 System.out.println("A" + i); i = 10; } { // 初始化非静态实例 System.out.println("B" + i); i = 5; Mug mug = new Mug(i); } public static void main(String[] args) { StaticDemo demo = new StaticDemo(); demo.f(); } // 打印i的方法 public void f() { System.out.println(i); } } // 内部类 class Mug { private int i; public Mug(int i) { this.i = i; } }
6,可变数组参数
package com.wj.init; /** * * @author Administrator 可变参数列表 */ public class VarArrayList { //创建可变数组 static void point(Object... s) { for (Object i : s) { System.out.println(i); } } public static void main(String[] args) { //类名.可变数组 VarArrayList.point("java");// VarArrayList.point(1); int[] a={1,2,3,4}; VarArrayList.point(a); } }
运行结果:
java
1
[I@64ea66
可变数组可以传入任意类型的,也可以是空的,主要是利用了java中的一切类都是继承的Object
相关推荐
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
Bruce Eckel 《Thinking in Java》(Java编程思想)作者。Eckel有20年专业编程经验,并自1986年起教育人们如何撰写面向对象程序,足迹遍及全球,成为一位知名的 C++教师和顾问,如今兼涉Java。他是C++标准委员会拥有...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
Bruce Eckel 《Thinking in Java》(Java编程思想)作者。Eckel有20年专业编程经验,并自1986年起教育人们如何撰写面向对象程序,足迹遍及全球,成为一位知名的 C++教师和顾问,如今兼涉Java。他是C++标准委员会拥有...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
弄清构造函数和终结方法在继承层次结构中的调用顺序,强调子类必须调用超类的构造函数分配空间和初始化超类数据。 掌握方法重写(override)的基本要求。 理解和使用关键字final。 理解包的...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测 D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊情况 D...
第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 第20章 注解 第21章 并发 第22章 图形化用户界面 附录A 补充材料 可下载的补充材料 Thinking in C:Java的基础 Java编程思想 ...
5.7.2. 静态数据的初始化 5.7.3. 显式的静态初始化 5.7.4. 非静态实例初始化 5.8 数组初始化 5.8.1 可变参数列表 5.9 枚举类型 5.10 总结 第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第...
08-hdfs的实现机制初始.avi 09-hdfs的shell操作.avi 10-hadoop集群搭建的无密登陆配置.avi 第二天 hdfs的原理和使用操作、编程 01-NN元数据管理机制.avi 02-NN工作机制2.avi 03-DN工作原理.avi 04-HDFS的...
全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...
06-kafka消费者java客户端编程.avi 第八天 实战项目 01-项目背景及技术架构.avi 02-主要技术选型.avi 03-flume介绍及演示.avi 04-行为轨迹增强处理流程.avi 05-样本url筛选模块开发.avi 06-行为轨迹增强...