学习日记(七)java类和对象

一个类定义一个新的数据类型,也就是定义了一个逻辑框架,定义了它的成员之间的关系。可以通过这种类型来声明该类型的对象,通过new关键词来实例化对象,也就是为该类型的对象动态的分配物理内存空间,这个分配过程实在运行时发生的。内存空间是有限的,因此运行时分配内存有可能不成功,会造成运行时异常。

声明时的变量存储的是该内存空间的引用,也就是该内存空间的地址而不是该内存空间本身,这种变量之间的赋值,实际上是赋的引用的值。

实例化对象的时候,new后边是要实例化的类型的类名,紧跟类名之后的小括号代表了该类的构造函数。在创建一个类的时候,一般会自定义显示的构造函数,如果没有自定义,则系统会默认提供一个。

java中的基本数据类型不需要new,是因为他们在java中不作为对象来实现,在面向对象的编程中,需要把它们转换成包装类型使用,只是因为有自动转换存在的原因,有的时候没有特意的手动转换。简单类型比引用类型能够更高效的实现。

构造函数的函数名与该类的类名相同,没有返回值类型,连void都没有,因为默认的是构造函数返回该类类型。默认提供的构造函数无参,如果自定义了构造函数,系统便不再默认提供。

this关键字,在一个方法需要引用调用它的对象的时候使用。

在java中,同一个范围或一个封装范围内两个同名的局部变量是不合法的,但是局部变量和传参时用的自变量,他们的名称允许和类的实例变量的名字一样,就这时候就会出现问题,局部变量或自变量就隐藏了实例变量,因此要使用实例变量的时候就要用到this来解决这个冲突。

时间: 2024-11-07 04:15:45

学习日记(七)java类和对象的相关文章

C++语言学习(四)——类与对象

C++语言学习(四)--类与对象 一.构造函数(constructor) 1.构造函数简介 C++语言中,构造函数是与类名相同的特殊成员函数.在类对象创建时,自动调用构造函数,完成类对象的初始化.类对象本身是变量,在栈.堆上创建的对象,对象的成员初始化为随机值:在静态存储区创建的对象,对象的成员初始化为0. 2.构造函数的定义 构造函数声明的语法如下:classname(parameters);没有参数的构造函数称为无参构造函数.当类中没有定义构造函数(包括拷贝构造函数)时,编译器默认提供一个无

有关java类、对象初始化的话题,从一道面试题切入

最近在整理东西时,刚好碰到以前看的一道有关java类.对象初始化相关题目,觉得答案并不是非常好(记忆点比较差,不是很连贯).加上刚好复习完类加载全过程的五个阶段(加载-验证-准备-解析-初始化),所以如果周志明大大诚不我欺的话,无论是类加载过程.还是实例化过程的顺序我都已经了然于心了才对. 一道面试题 标题:2015携程JAVA工程师笔试题(基础却又没多少人做对的面向对象面试题) 地址:https://zhuanlan.zhihu.com/p/25746159 该题代码如下: public cl

sdut 面向对象程序设计上机练习七(类和对象)

面向对象程序设计上机练习七(类和对象) Time Limit: 1000MS Memory limit: 65536K 题目描述 利用类的数据成员和成员函数完成下列操作:输入三个整数,输出它们的最大值. 输入 输入三个整数. 输出 输出3个整数的最大值. 示例输入 2 8 5 示例输出 8 这个就不做详细注释了,初学者也能尝试着看懂. #include <iostream> using namespace std; class shu { private: int a,b,c; public:

java类,对象,方法

1,类和对象   在面向对象的概念当中,类(class)是既包括数据又包括作用于数据的一组操作的封装体.类的数据称为成员变量,类对数据的操作称为成员方法.成员变量反映类的状态和特征,成员方法反映类的行为和能力.类的成员变量和方法统称为类的成员.   对象(Object)是类的实例(instance).对象是动态的,拥有生命周期,都会经历一个从创建.运行到消亡的过程.对象与类的关系就像变量与数据类型一样.   类声明 { 修饰符 } class <Classname> { extends <

Java类与对象的课后练习

Java类与对象的课后练习编程题(java2实用教程P111) 这章内容自学完了,在做教材课后其他练习题的时候(只要自己仔细)都没啥问题,但在做最后一道上机编程题的时候问题出现了,在阅读题目的时候自己能感受到的是这道题不难(的确也不难),我也很快写了出来,但运行程序的时候,结果一直不正确,最后改来改去都不对,思路是对的,分步执行的时候也感觉是有个地方出了问题但就是揪不出来,最后又把课本的前面的例子反复的看对比,最后找到了问题: System.out.println("cpu的速度:"+

java类与对象的区别

java类与对象的区别是个老生常谈的问题,刚开始学java的时候就开始接触类和对象,今天来总结一下他们之间的区别. 首先讲讲class和object的区别,其实就是一句话:object是所有class的父类,所有class类都默认继承object. java中类是对一类"事物"的属性和行为一种抽象,比如人类就可以定义为一个Person类: public class Person { public int age;//年龄 public String name;//姓名 public i

人生三分之一埋在土里的时候,选择了学习OC语言 1 类和对象

人生三分之一埋在土里的时候,选择了学习OC语言  1 类和对象 今天开始整理我所理解的东西,希望能够帮助一些像我一样想要学习一门计算机语言的朋友们, 可能在很多的地方理解的也不够深入,有不对的地方还希望关注的朋友能够谅解,也多多提您的宝贵意见! 学习前需要具备的条件: 首先你要有C语言的一些基础,如果你没有,那可以先去自学一下C语言, 我是通过以下网站进行学习的,也希望对你能够有帮助! http://c.biancheng.net/cpp/u/jiaocheng/ 其次,你要有一台mac电脑,

Java 第七章 类和对象 笔记

一.对象的特征--类的属性 每个对象的每个属性都有特定的值 对象的操作--类的方法 二.封装:对象同时具有属性和方法两项特性.     对象的属性和方法通常被封装在一起,共同体现事物的特性,     二者相辅相成,不能分割. 三.类和对象的区别:     类:抽象的概念,是一个模子,确定了对象的属性和方法.    对象:能够看得见摸得着的实物.具有静态和动态特征. 四.定义类的步骤:     1.定义类名      2.定义类的属性 访问修饰符 属性类型 属性名称=默认值:     3.定义类的

学习笔记——Java类和对象

今天学习了Java的类和对象的相关知识,由于Java面向对象的编程的思想和C++几乎一样,所以需要更多的关注Java的一些不同之处. 1.类 1.1 在类这一块,除了基本的成员变量,成员方法,构造函数等外,需要掌握三种权限修饰符的区别,并会合理使用(private限制了权限只在本类,protected限定了权限只在包内). 1.2 静态常量.变量.方法:static修饰.我们可以使用“类名.静态类成员”来调用,如: public class StaticTest{ static double P