2012六月末,我在蓝杰报名学习Java这种计算机编程语言,应熊哥等哥哥级老师的要求,也为系统的梳理学习内容,注册ITeye技术网站,开始撰写我的技术博客,以期日后自己回忆起来时,能找到自己钻研技术时的一些领悟和感触,当然也是一种大学时光的见证。因此,我将努力写好这段Java学习之旅的收获与感悟。
一、何为Java?它是干什么的?它...
简而言之,Java是一种计算机编程语言,这种语言因为具备“跨平台”和“免费开源”的优点在短短十几年的时间内获得了极大的发展,当然还包括了“面向对象”的编程方法和“简单易用(舍弃了C语言中麻烦的指针操作)”等优点,在编程语言的使用上也一度占据第一的宝座。
Java源程序的后缀是.java; Java编译后的文件是.class; Java的编译器是Javac(反正在DOS环境下是这样调用的)。
因为Java支持跨平台操作,所以在不同的操作系统下我们要配置不同的运行环境(JRE),内含Java虚拟机(JVM)。Java开发工具包(JDK)包含了Java运行环境和Java编译器,所以我们要安装JDK。
Java的集成开发工具(IDE)有Eclipse,Jcreater等。
二、Java中的基本数据类型等概念的理解?
Java中的基本数据类型有8种,要记住这几种基本类型他们所占的字节,以后是要经常用到的,这里跟C语言是不同的。
byte 1B
int 4B
short 2B
long 8B
char 2B
float 4B
double 8B
Boolean ture/false
数据类型转换一般存在于整数、浮点数、字符之间。规则是:
低精度的值可以直接赋给高精度的值,直接变成了高精度,这里的高精度一般认为是:
byte < short < char < int < long < float < double
2、高精度的值不可以直接赋给低精度的变量,为了解决这个问题,就要进行强制转换,方法是:
目标类型 变量 = (目标类型)值
String虽然不是8中基本类型,它是Java中的一个类,但是它的使用方法确是跟基本数据类型很相近,而且遵守值传递的规则。
三、什么是类?什么是对象?它们在内存中是如何存放和引用的?
类从字面上就能理解,就是一类东西,它们具备一些相同的特征和行为。而对象则可以这样理解,它是一个具体的东西,不是抽象起来的一类东西,而是这些具有相同特征和行为的一个具体的个体。
类用类名定义一个对象名,用new关键字来实例化一个对象,定义的过程中并不给分配内存空间,只有在实例化的时候才给分配一个空间,昨天晚上,其实应该叫今天凌晨,也就是两三个小时前,室友给我跟另一位室友分析了一下new在实例化对象时的内存分配情况。但new后的对象会在实际的内存中分配一定的空间。定义后的一个名称存放在高速缓存区,里面存放了它所指向的元素或者对象的地址。举个例子,生了一个小孩,给他起了名字,名字是放在一个地方的,他只是一个代号,代表了他所代表的小孩,而这个小孩是真正的一个对象。
四、什么是值传递?什么是引用传递?
这两个概念是这样区分的:值传递就是在内存中重新分配了一块内存,并把这块新内存的地址赋给了新的变量。引用传递就是把内存中存在的这个元素的地址直接传给了变量,并没有在内存中重新分配一块空间,所以美其名曰引用传递。但是,在值传递中还有一个特殊的String,它也是值传递,至于为什么就不深究了,记住就好了。
下面用一段代码来演示一下:
//验证引用类型是遵守引用传递的规则的代码示例
publicclass Employee {
private String name;
publicvoid setname(String name){
this.name = name;
}
publicvoid getname(){
System.out.println("员工姓名是"+name);
}
publicstaticvoid main(String[] ar){
Employee employ1 = new Employee();//实例化第一个员工对象
Employee employ2 = new Employee();//实例化第一个员工对象
employ1.setname("张三");//给第一个员工输入名字张三
employ2= employ1;//把第一个员工对象赋给第二个员工
employ1.getname();//输出第一个员工的姓名
employ2.getname();//输出第二个员工的姓名
employ2.setname("李四");//更改第二个员工的姓名为李四
employ1.getname();//输出更改后第一个员工的姓名
employ2.getname();//输出更改后第二个员工的姓名
//如果更改后输出的结果都是李四,就证明的确是引用传递
}
}
运行结果如下:
员工姓名是张三
员工姓名是张三
员工姓名是李四
员工姓名是李四
//验证基本类型是遵守值传递的规则的代码示例
publicclass Boss {
publicstaticvoid main(String[] args) {
int i = 123456;
int j;
j=i;//将i的值赋给j
System.out.println("更改前:i是"+i+" j是"+j);
i=654321;//更改i的值看j的值改变不
System.out.println("更改后:i是"+i+" j是"+j);
//如果j值没有改变,说明基本类型遵循“值传递”规则
}
}
运行结果是:
更改前:i是123456 j是123456
更改后:i是654321 j是123456
第五个问题:什么是构造器or构造函数?什么是重载?以及一些其他的东东...
构造器是这样的一个东西,它主要的作用是在实例化对象时传入参数值。书写方式是public + 类名(传入的参数){}。构造器又名曰构造函数。但它不能有任何返回值,而且必须与类名相同,在实例化对象的过程中它只被调用一次。
函数的重载,是这样一种东西,它允许你给定一个函数名(方法),这个函数同名,但是参数类型不同,数量不同抑或参数的次序不同。这样的话方便了开发人员,不用搞很多其他的函数名称在里面,容易搞晕。
函数的重载(overLoad)和函数的重写(overWrite)是有很大不同的,具体体现在:
overLoad是表现在同一个类下对同一函数名的重复书写,当然后面传入的参数是不同的;而overWrite是继承或者实现类中的一个概念,它修改了父类或者接口中的某些方法,当然后面的参数格式是必须相同的。
六、this关键字的用法?
this关键字一般是用来在类中指代当前对象的,当传入的参数名称与类中参数名称相同时加以区分。另外一种用法是放在构造器中调用其他构造器,也可以调用方法。需要注意的是,在构造器中通过this调用另一个构造器时,调用的代码必须是第一行,且只能调用一次。并且,在一般方法中不能够用this调用构造器。
一般这样用 this.name = name;
我的第一篇技术学习博客就写这么多,下一篇将会将我对继承,接口等内容的理解写下来。
2012年7月8日中午写于寝室
2012年8月3日中午修正于寝室
相关推荐
- **类定义**: C++中用来描述一类对象的共同特征和行为的概念。它是一个抽象数据类型,包含了数据成员和成员函数。 - **成员函数**: 定义在类中的函数,用于实现类的行为。 - **数据成员**: 定义在类中的变量,用于...
JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...
类是创建对象的根源,它定义了同一类对象共有的属性和方法。类中的属性(Attribute)可以理解为对象所拥有的变量,而方法(Method)则是对象可以执行的操作或行为。 对象(Object)是类的实例(Instance),是具有...
本章的"【第5章:面向对象基础】_面向对象、类与对象的定义"将详细讲解面向对象编程的核心概念,包括如何定义类、创建对象,以及如何利用继承和多态性设计高效的程序。通过学习,你将能更好地理解和应用Java的面向...
在本实验“Java类与对象”中,我们深入学习了Java面向对象编程的基本概念和实践。面向对象编程(OOP)是一种程序设计思想,它强调数据和操作数据的方法结合在一起,形成一个独立的对象,以此来组织和管理代码。与...
类与对象.ppt 讲的很具体。主要涉及基础概念,构造函数,析构函数等
C#是一种面向对象的编程语言,其核心概念之一就是类与对象之间的关系。类是对象的模板或蓝图,它定义了创建对象的属性和方法。对象则是类的具体实例,是实际存在的实体。 在C#中,创建类意味着定义了一组属性和方法...
c++类与对象实习举例。
c++ 习题 4类与对象.doc (选择 解答 填空)
在编程世界里,类与对象是面向对象编程(OOP)的核心概念,它们为我们提供了抽象、封装、继承和多态等重要特性。本教程“类与对象的分析与设计”将深入探讨如何从实际问题中抽离出这些概念,以便进行高效、结构化的...
常对象(Const Object)是指声明为const的类对象,它的成员函数不能修改数据成员。常成员函数(Const Member Function)是在类定义中声明为const的函数,它承诺不修改对象的状态。 最后,对象在内存中的分布情况...
在Java编程语言中,"类"与"对象"是核心概念,它们构成了面向对象编程的基础。本文将深入探讨这两个概念,以及如何在实际编程中应用它们。 首先,我们需要理解"类"。在Java中,类可以看作是蓝图或者模板,它定义了一...
在Java编程语言中,"类与对象教学(1)"是一个重要的学习主题,它涵盖了面向对象编程的基本概念,对比了面向对象编程(OOP)与面向过程编程(POP),并深入探讨了类、对象以及如何在实际开发中创建和使用它们。...
### Java类与对象详解 #### 一、面向对象编程的核心理念 面向对象编程(OOP)是一种编程范式,其核心在于将现实世界中的事物抽象为计算机中的对象,通过对象来模拟和处理复杂的问题。这一理念源于试图让编程更加...
在编程世界中,类与对象是面向对象编程(OOP)的核心概念。面向对象编程是一种设计和实现软件的方法,它基于“对象”的概念,而这些对象则是类的实例。类可以看作是创建对象的蓝图,它定义了对象的数据属性和行为。...
【Java程序设计】类与对象是Java编程的核心概念,它们是面向对象编程的基础。类是对具有相似属性和行为的事物的抽象,而对象是类的实例,代表着具体存在的个体。 在【描述】中,该教案是为了2021年的高校教师资格证...
C++ 类与对象练习题带答案 本资源是一个 C++ 编程语言的练习题集,涵盖了类与对象的基础知识。练习题分为选择题和填空题两部分,涵盖了类的定义、对象的声明、成员函数、访问权限、继承等关键概念。 选择题 1. ...