类与对象 逃离我推掉我的手 2022-05-21 06:57 266阅读 0赞 2.1 类和对象的定义与使用 类的定义: Class 类名\{ 数据成员\-静态属性 成员函数\-动态行为 \} 对象的定义: 类名 对象名 与 int a的含义差不多 类定义的“\{\}”就是类的“外壳”,提供了封装,private声明的成员外面是不能访问的,而public可以。 引用:一个储存了某个对象地址的变量,它储存的不是对象本身,而是对象的地址。 Point point=**new** Point();的含义是:首先实例化一个对象(new Point()),然后定义一个引用point指向这个实例。 point=point1 不是讲实例point赋值给point1,而只是改变了引用的关系,即point也指向了point1指向的实例 ![70][] 2.2 构造函数和垃圾回收 为什么需要有构造函数? 构造函数是完成对象的初始化,这个当然可以定义一个成员方法予以实现。但是这个方法必须**显式**调用,否则就可能因未初始化出现错误。 我们希望这样的方法能够被**自动**调用,能被自动调用,那么它的名字一定是独一无二的,什么样的名字才是独一无二的呢?——以类名作为方法名。这就是构造函数。 构造函数,是在对象实例化时**自动**被系统调用,该函数名必须独一无二。对于一个类来说,就是将一个类名作为函数名。 构造函数不需要程序员去定义返回值,他是系统自动决定的,void也不行。 构造函数无法、也无需指定指定返回值,它是自动被调用的。 函数重载 多个函数使用同一个函数名,系统根据参数自动调用相应的函数。 函数重载解决了标识符统一的问题。 拷贝构造函数 用一个已经存在的本类的对象去复制新的对象 垃圾回收:所谓的“垃圾”是指之前系统分配的内存单元,但是现在没用了, 再具体的讲,就是没有引用指向它。对于“垃圾”来讲,程序员不需要自己去回收,而是系统提供的垃圾回收机制自动回收,当程序员觉得有必要时,也可以强制让系统回收。 2.3 访问权限控制和封装 方法的访问控制(四种访问权限): ![70 1][] 封装的要领,是站在用户的角度去思考怎么去描述一个类,它应该有什么属性和行为,而不是去考虑如何实现。 2.4 静态 静态成员修饰的成员与一般的成员有何区别呢? 一般的成员是每个对象有一份数据,而静态成员是属于类的,即所有对象所共享; 一般成员的访问方式:对象名.成员名,而静态成员的访问方式:类名.成员名。 this是“这个”、“当前”的意思,每一个成员方法都隐含有一个参数(this)。 比如 public void print(){ System.out.println("学号:"+sno); System.out.println("姓名:"+name); System.out.println("性别:"+(sex==MALE?"男":"女")); System.out.println("学历:"+(level==UNDERGRADUATION?"本科":"专科")); } 中的 严格来讲,应该写成 System.out.println("学号:"+sno); System.out.println("学号:"+this.sno); 静态常量,静态成员变量,静态成员方法,静态代码块 静态方法没有this 静态方法只能访问静态成员 一般的成员都是通过构造函数去完成初始化(实例化对象时),而静态成员则是在加载类的时候(也就是实例化之前)初始化 2.5 内部类 内部类是指在一个类的内部定义的类 内部类可以自由访问外部类的所有成员 内部类可以作为成员类(在外部类中定义,和成员方法平行)和方法内部类(定义在外部类的成员方法里面)。 内部类的实例化: Computer.Cpu cpu=new Computer().new Cpu(); System.out.println(cpu.getY()); 当一个类离开另一个类而无法单独存在或者说没有意义的情况下,使用内部类是最合适的(如:CPU离开计算机类,单独存在就没有意义了) 面对对象设计 (1)类的设计:考虑应该由哪些**属性**去描述这个类,这个类应该提供什么**方法**? (2)方法(函数)设计:函数名、参数和返回值类型 如果需要返回多个结果,函数返回值如何设计 (1)可以将多个返回结果融在一个结果中,用特定的值表示其中的一个结果。比如查找函数需要返回是否找到以及找到的话下标是多少两个结果。可以将这两个结果并在一个整型返回值中,用-1表示没找到,找到的话就返回下标。这样设计的理由是下标不可能为-1,所以-1可以表示特定的含义。 (2)将多个返回值封装成一个类对象 (3)可以考虑使用输出型参数,在Java中就只能使用引用类型了。 [70]: /images/20220521/b2c85d1f7c9d4e4dadae501fc41e3c72.png [70 1]: /images/20220521/589111a0c8fa4efeb74fa3a67e00e75f.png
相关 【类与对象】 `类和对象` 类是对现实生活中一类具有`共同属性`和`行为`的事物的抽象。 `类的特点` 1.类是对象的数据类型。 2.类是具有相同属性和行为的一组对象的集合 快来打我*/ 2024年03月23日 14:23/ 0 赞/ 63 阅读
相关 类 与 对象 三大特征 1.封装 通过`private` , `default`,`protected`,`public`关键字实现属性或方法封装,仅对外提供公共访问方式。+ “ 朴灿烈づ我的快乐病毒、/ 2024年03月16日 09:43/ 0 赞/ 38 阅读
相关 类与对象 类:是对某一事物的抽象描述,通过方法(成员方法)和属性(成员变量)来描述事物。 对象:对象是实际存在的该类事物的个体,因而也称实例。 创建圆类: 1 pac 傷城~/ 2023年08月17日 16:08/ 0 赞/ 131 阅读
相关 类与对象 匿名对象 使用匿名对象的两种情况: 1. 一个对象只需进行一次调用 new Cylinder().setLength(2,5,3); new 刺骨的言语ヽ痛彻心扉/ 2023年03月14日 10:59/ 0 赞/ 1 阅读
相关 类与对象 太极生两仪,两仪生四象,四象生八卦,八卦衍万物,万物皆对象; ![在这里插入图片描述][20200713112925588.png] ![在这里插入图片描述][wate 淡淡的烟草味﹌/ 2023年02月25日 14:25/ 0 赞/ 4 阅读
相关 类与对象 类与对象 1.1 什么是类 类在生活语言中就像是种类、类别,一些事物的总称。类在Java编程 语言中属于一个较广泛的概念,而细分后,类里边还会有对象,类就是 一 傷城~/ 2022年09月25日 04:23/ 0 赞/ 225 阅读
相关 类与对象 在面向对象的编程语言中,类是对对象的抽象,在类中可以定义对象的属性和方法的描述;对象是类的实例,类只有被实例化后才能被使用。 定义类 在PHP中,使用关键字cl 忘是亡心i/ 2022年07月28日 11:49/ 0 赞/ 212 阅读
相关 类与对象 Person per = new Person(); 声明对象:栈内存中声明的,与数组一样,数组数组名就保存在栈内存中,只开辟栈内存的对象是无法使用的,必须使用其堆内 超、凢脫俗/ 2022年07月12日 06:15/ 0 赞/ 245 阅读
相关 类与对象 2.1 类和对象的定义与使用 类的定义: Class 类名\{ 数据成员\-静态属性 成员函数\-动态行为 \} 对象的定义: 类名 对象名 与 int a的 逃离我推掉我的手/ 2022年05月21日 06:57/ 0 赞/ 267 阅读
相关 类与对象 类与对象 1.1 什么是类 类在生活语言中就像是种类、类别,一些事物的总称。类在Java编程 语言中属于一个较广泛的概念,而细分后,类里边还会有对象,类就是 一 以你之姓@/ 2022年04月12日 03:09/ 0 赞/ 304 阅读
还没有评论,来说两句吧...