`
百合不是茶
  • 浏览: 356914 次
社区版块
存档分类
最新评论

java编程思想 -- 数据的初始化

阅读更多

 

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

 

0
0
分享到:
评论

相关推荐

    Java编程思想--外文文献原文及译文(可编辑).doc

    《Java编程思想》是 Bruce Eckel 的经典著作,旨在深入阐述Java编程语言的核心概念和机制。这本书强调了Java作为一门“纯粹”的面向对象语言,与C++相比,它在设计时更加注重对象导向的本质。虽然C++和Java都是混合...

    java 编程思想.txt

    根据提供的文件信息,我们可以深入探讨《Java编程思想》这一主题中的关键知识点,这些知识点主要集中在类、对象、封装性、继承、多态等核心概念上。 ### Java编程思想概述 《Java编程思想》这本书深入浅出地介绍了...

    java编程思想读书笔记

    ### Java编程思想读书笔记 #### 第2章 万事万物皆对象 **一、所有对象都必须由你建立** - **存储在哪里** - **寄存器**:在程序中不可见,由处理器自动管理。 - **栈 (Stack)**:存放基本类型的数据和对象引用...

    C++编程思想--全18章

    全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚...

    Java编程思想练习题答案(代码)

    在Java编程领域,掌握《Java编程思想》是深入理解这门语言的重要步骤。这本书由Bruce Eckel撰写,被誉为Java学习者的经典之作。本资源包含了该书第四版的完整练习题答案,旨在帮助读者巩固和深化对书中理论的理解,...

    Java编程思想 中文文档

    《Java编程思想》是 Bruce Eckel 的经典著作,这本书深入浅出地介绍了Java语言的核心概念和技术,对于初学者和有经验的程序员来说都是极好的学习资源。中文文档的出现使得更多的中国开发者能够无障碍地理解这本权威...

    Java面向对象编程思想.pdf

    Java面向对象编程思想 Java 面向对象编程思想是 Java 编程语言的核心思想之一,通过封装、继承和多态三个特征,实现代码的重用和可维护性。 一、封装 封装是 Java 面向对象编程的三大特征之一,通过 Java 的类来...

    Java编程思想读书笔记.doc

    以上知识点总结了《Java编程思想》前几章的主要内容,涵盖了对象的创建与存储、类的定义、函数参数和返回值、运算符与流程控制以及初始化等方面的基础知识,对于初学者理解和掌握Java语言的基本概念非常有帮助。

    Java编程思想读书笔记

    《Java编程思想读书笔记》 ...以上内容是《Java编程思想》的前四章概述,涵盖了Java编程的基础概念,包括对象、类、内存管理、控制流和初始化。深入理解和掌握这些知识点是成为熟练Java开发者的基石。

    java编程思想练习题答案

    《Java编程思想》是Bruce Eckel的经典之作,它深入浅出地介绍了Java语言的核心概念和技术。这本书中的练习题是学习者提升技能的重要途径,而这个压缩包提供的就是这些练习题的解答,以源码的形式保存为.java文件。...

    JAVA编程基础-05面向对象基础-zhouxl.pdf

    ### JAVA编程基础——面向对象基础 #### 面向对象编程思想 面向对象编程(OOP)是一种编程范式,它将计算机程序设计成由多个相互交互的对象组成。这种编程方式模仿了现实世界的运作方式,使得程序员能够以更直观、更...

    java 编程思想4(中文版pdf)

    《Java编程思想》是 Bruce Eckel 的经典著作,这本书深入浅出地讲解了Java语言的核心概念和编程技术,是Java程序员的重要参考书籍。中文版的出现使得更多的中国开发者能够无障碍地学习这本巨著,无需面对语言障碍。...

    Java编程思想【第四版·习题答案】

    《Java编程思想》是Bruce Eckel的经典之作,第四版更是深受全球Java程序员的推崇。这本书深入浅出地介绍了Java语言的各个方面,从基础语法到高级特性,为读者提供了全面而透彻的理解。附带的习题答案是学习过程中不...

    java编程思想练习答案 the think in Java Annotated Solution Guide

    《Java编程思想》是 Bruce Eckel 的经典之作,它深入浅出地介绍了Java这门强大的编程语言。这本书的章节练习答案则是对书中理论知识的实践检验,帮助读者巩固理解并提升编程技能。以下是对这份"Java编程思想练习答案...

    Java编程思想初始化与清理PPT教案学习.pptx

    Java编程思想中的初始化与清理是编程过程中的关键环节,它涉及到类的实例化以及对象生命周期的管理。在Java中,构造器(Constructor)是确保对象初始化的重要工具。 1. **构造器确保初始化** - 构造器是与类同名的...

    java编程思想习题及答案

    《Java编程思想习题及答案》是一份针对Java编程学习者的宝贵资源,它包含了大量关于Java编程的习题和对应的解答。这份资料可能是从www.pigkrtv.com等网站转载而来,旨在帮助学习者深化对Java编程语言的理解,提高...

    JAVA编程思想笔记

    ### JAVA编程思想笔记 ...以上是对《JAVA编程思想》中的基础概念进行了总结和整理,涵盖了语言特性、变量、数据类型、代码块和泛型等内容。这些知识点对于初学者理解和学习Java编程语言非常重要。

    详解Java实现的k-means聚类算法

    1. 数据预处理:需要对数据进行预处理,例如,去除缺失值、归一化等。 2. 质心选择:初始质心的选择对聚类结果的影响很大,需要选择合适的初始质心。 3. 收敛条件:需要设置收敛条件,例如,质心的变化幅度小于某个...

    java k-means可视化程序

    Java K-Means 可视化程序是一种基于Java编程语言实现的数据分析工具,主要用于执行聚类算法中的K-Means方法,并将结果以图形化的形式展示出来。K-Means是一种广泛应用的无监督学习算法,用于将数据集分成不同的簇...

Global site tag (gtag.js) - Google Analytics