`
中南大宝
  • 浏览: 34518 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论
阅读更多

 

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值没有改变,说明基本类型遵循“值传递”规则

       }

}

运行结果是:

更改前:i123456    j123456

更改后:i654321    j123456

 

第五个问题:什么是构造器or构造函数?什么是重载?以及一些其他的东东...

构造器是这样的一个东西,它主要的作用是在实例化对象时传入参数值。书写方式是public + 类名(传入的参数){}。构造器又名曰构造函数。但它不能有任何返回值,而且必须与类名相同,在实例化对象的过程中它只被调用一次。

函数的重载,是这样一种东西,它允许你给定一个函数名(方法),这个函数同名,但是参数类型不同,数量不同抑或参数的次序不同。这样的话方便了开发人员,不用搞很多其他的函数名称在里面,容易搞晕。

函数的重载(overLoad)和函数的重写(overWrite)是有很大不同的,具体体现在:

overLoad是表现在同一个类下对同一函数名的重复书写,当然后面传入的参数是不同的;而overWrite是继承或者实现类中的一个概念,它修改了父类或者接口中的某些方法,当然后面的参数格式是必须相同的。

 

六、this关键字的用法?

this关键字一般是用来在类中指代当前对象的,当传入的参数名称与类中参数名称相同时加以区分。另外一种用法是放在构造器中调用其他构造器,也可以调用方法。需要注意的是,在构造器中通过this调用另一个构造器时,调用的代码必须是第一行,且只能调用一次。并且,在一般方法中不能够用this调用构造器。

一般这样用 this.name = name;

 

我的第一篇技术学习博客就写这么多,下一篇将会将我对继承,接口等内容的理解写下来。

 

201278日中午写于寝室

201283日中午修正于寝室

分享到:
评论

相关推荐

    C++ 类与对象习题

    - **类定义**: C++中用来描述一类对象的共同特征和行为的概念。它是一个抽象数据类型,包含了数据成员和成员函数。 - **成员函数**: 定义在类中的函数,用于实现类的行为。 - **数据成员**: 定义在类中的变量,用于...

    JAVA类与对象及数组习题

    JAVA类与对象及数组习题 JAVA类和对象及数组是JAVA编程语言的基础概念。下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: ...

    java面向对象、类与对象的定义笔记

    类是创建对象的根源,它定义了同一类对象共有的属性和方法。类中的属性(Attribute)可以理解为对象所拥有的变量,而方法(Method)则是对象可以执行的操作或行为。 对象(Object)是类的实例(Instance),是具有...

    【第5章:面向对象基础】_面向对象、类与对象的定义

    本章的"【第5章:面向对象基础】_面向对象、类与对象的定义"将详细讲解面向对象编程的核心概念,包括如何定义类、创建对象,以及如何利用继承和多态性设计高效的程序。通过学习,你将能更好地理解和应用Java的面向...

    实验三:Java类与对象

    在本实验“Java类与对象”中,我们深入学习了Java面向对象编程的基本概念和实践。面向对象编程(OOP)是一种程序设计思想,它强调数据和操作数据的方法结合在一起,形成一个独立的对象,以此来组织和管理代码。与...

    类与对象.ppt

    类与对象.ppt 讲的很具体。主要涉及基础概念,构造函数,析构函数等

    类与对象的关系

    C#是一种面向对象的编程语言,其核心概念之一就是类与对象之间的关系。类是对象的模板或蓝图,它定义了创建对象的属性和方法。对象则是类的具体实例,是实际存在的实体。 在C#中,创建类意味着定义了一组属性和方法...

    c++ 类与对象

    c++类与对象实习举例。

    C++习题\4类与对象.doc

    c++ 习题 4类与对象.doc (选择 解答 填空)

    类与对象的分析与设计

    在编程世界里,类与对象是面向对象编程(OOP)的核心概念,它们为我们提供了抽象、封装、继承和多态等重要特性。本教程“类与对象的分析与设计”将深入探讨如何从实际问题中抽离出这些概念,以便进行高效、结构化的...

    c++ 类与对象课件,包括对象的初始化,对象的使用,构造函数和析构函数等等

    常对象(Const Object)是指声明为const的类对象,它的成员函数不能修改数据成员。常成员函数(Const Member Function)是在类定义中声明为const的函数,它承诺不修改对象的状态。 最后,对象在内存中的分布情况...

    java复习题 类与对象

    在Java编程语言中,"类"与"对象"是核心概念,它们构成了面向对象编程的基础。本文将深入探讨这两个概念,以及如何在实际编程中应用它们。 首先,我们需要理解"类"。在Java中,类可以看作是蓝图或者模板,它定义了一...

    java类与对象教学(1)

    在Java编程语言中,"类与对象教学(1)"是一个重要的学习主题,它涵盖了面向对象编程的基本概念,对比了面向对象编程(OOP)与面向过程编程(POP),并深入探讨了类、对象以及如何在实际开发中创建和使用它们。...

    Java类与对象3

    ### Java类与对象详解 #### 一、面向对象编程的核心理念 面向对象编程(OOP)是一种编程范式,其核心在于将现实世界中的事物抽象为计算机中的对象,通过对象来模拟和处理复杂的问题。这一理念源于试图让编程更加...

    二_类与对象_

    在编程世界中,类与对象是面向对象编程(OOP)的核心概念。面向对象编程是一种设计和实现软件的方法,它基于“对象”的概念,而这些对象则是类的实例。类可以看作是创建对象的蓝图,它定义了对象的数据属性和行为。...

    《Java程序设计》第8章 类与对象教案.pdf

    【Java程序设计】类与对象是Java编程的核心概念,它们是面向对象编程的基础。类是对具有相似属性和行为的事物的抽象,而对象是类的实例,代表着具体存在的个体。 在【描述】中,该教案是为了2021年的高校教师资格证...

    类与对象练习题 带答案

    C++ 类与对象练习题带答案 本资源是一个 C++ 编程语言的练习题集,涵盖了类与对象的基础知识。练习题分为选择题和填空题两部分,涵盖了类的定义、对象的声明、成员函数、访问权限、继承等关键概念。 选择题 1. ...

Global site tag (gtag.js) - Google Analytics