面向对象基础——类与对象的定义 淩亂°似流年 2022-07-27 14:52 220阅读 0赞 面向对象的概念 ![Center][] ![Center 1][] 封装性:对外部不可见。可以保护程序中的某些内容。 继承性:扩展功能的。 类与对象的关系: ![Center 2][] ![Center 3][] 定义类和对象的方法? ![Center 4][] ![Center 5][] 类图的画法:Person类图 分为三层: 第一层表示类的名称,类的名称与之前一样要求开头首字母大写。 第二层表示属性的定义,按照" 访问权限 属性名称:属性类型 " 的格式定义; 第三层表示类中方法的定义,按照" 访问权限 方法名称():方法返回值类型 " 的格式定义。如下图所示: ![Center 6][] ## 类与对象的进一步研究 ## 掌握Java中的内存划分,java引用传递 以及垃圾的产生分析。 ![Center 7][] ![Center 8][] 重点:对象是保存在内存之中的(指针/引用),属性是保存在堆内存之中;而方法是保存在全局代码区之中的,此区中的内容是所有的对象共享的。 注意:在使用对象的时候,对象必须被实例化后才可以使用(并不是单单指的是直接通过new关键字进行实现,只要有其堆内存的空间指向,则就表示实例化成功)。如果不进行实例化就会出现空指针异常。 ![Center 9][] 此时出现了一个空指向异常。在引用操作中,如果一个对象没有堆内存的引用,而调用了类中的属性或方法,就会出现此问题。所谓的引用数据类型时间上传递的是堆内存的使用权,可以同时为一个堆内存空间定义多个栈内存的引用操作。 class Person{ String name ; // 声明姓名属性 int age ; // 声明年龄属性 public void tell(){ // 取得信息 System.out.println("姓名:" + name + ",年龄:" + age) ; } }; public class ClassDemo05{ public static void main(String args[]){ Person per1 = null ; // 声明per1对象 Person per2 = null ; // 声明per2对象 per1 = new Person() ; // 只实例化per1一个对象 per2 = per1 ; // 把per1的堆内存空间使用权给per2 per1.name = "张三" ; // 设置per1中的name属性内容 per1.age = 30 ; // 设置per1中的age属性内容 // 设置per2对象的内容,实际上就是设置per1对象的内容 per2.age = 33 ; // 设置per2中的age属性内容 System.out.print("per1对象中的内容 --> ") ; per1.tell() ; // 调用类中的方法 System.out.print("per2对象中的内容 --> ") ; per2.tell() ; // 调用类中的方法 } }; class Person{ String name ; // 声明姓名属性 int age ; // 声明年龄属性 public void tell(){ // 取得信息 System.out.println("姓名:" + name + ",年龄:" + age) ; } }; public class ClassDemo06{ public static void main(String args[]){ Person per1 = null ; // 声明per1对象 Person per2 = null ; // 声明per2对象 per1 = new Person() ; // 实例化per1对象 per2 = new Person() ; // 实例化per2对象 per1.name = "张三" ; // 设置per1中的name属性内容 per1.age = 30 ; // 设置per1中的age属性内容 per2.name = "李四" ; per2.age = 33 ; // 设置per2中的age属性内容 per2 = per1 ; // 把per1的堆内存空间使用权给per2 System.out.print("per1对象中的内容 --> ") ; per1.tell() ; // 调用类中的方法 System.out.print("per2对象中的内容 --> ") ; per2.tell() ; // 调用类中的方法 } }; ![Center 10][] 以为per2改变了指向,所以其原本指向的内存空间没有任何栈内存的引用,则这样的内存就被称为垃圾,等待垃圾回收机制进行回收。 GC:垃圾回收机制的简称。 ## 封装性: ## 封装就是保护内容。 保证某些属性或方法可以不被外部看见。 封装的实现: ![Center 11][] ![Center 12][] class Person{ private String name ; // 声明姓名属性 private int age ; // 声明年龄属性 public void setName(String n){ // 设置姓名 name = n ; } public void setAge(int a){ // 设置年龄 if(a>=0&&a<=150){ // 加入验证 age = a ; } } public String getName(){ // 取得姓名 return name ; } public int getAge(){ // 取得年龄 return age ; } public void tell(){ System.out.println("姓名:" + name + ",年龄:" + age) ; } }; public class EncDemo04{ public static void main(String arsgh[]){ Person per = new Person() ; // 声明并实例化对象 per.setName("张三") ; // 调用setter设置姓名 per.setAge(-30) ; // 调用setter设置年龄 per.tell() ; // 输出信息 } }; Setter方法中加入验证,getter方法只需要简单的取回即可。 ![Center 13][] ![Center 14][] [Center]: /images/20220727/bfa9d0696a054756bdc2d935da7052af.png [Center 1]: /images/20220727/824a31426056476e9c649e81e2312f71.png [Center 2]: /images/20220727/c1e567f53b074930ae8fda0ab78899ff.png [Center 3]: /images/20220727/7c42cd2bbd64484ab23d91d89c433215.png [Center 4]: /images/20220727/01d8716b073e4c929d454951fc14be68.png [Center 5]: /images/20220727/3a64ae6a45904dd29fd99f5b9e138c22.png [Center 6]: /images/20220727/3453ddffd12c4fa9b262aede9f4c09eb.png [Center 7]: /images/20220727/f7fa7cd24fab4577904588add6af6469.png [Center 8]: /images/20220727/198cf67f082e4c23b143365c39d5f87f.png [Center 9]: /images/20220727/2a399ea2f6f1491e8181a5dbb3cc84a4.png [Center 10]: /images/20220727/3c0a74b4c66347b499f020fdab1b28e2.png [Center 11]: /images/20220727/7c29bc914fdb45c6941788b5b7bdde58.png [Center 12]: /images/20220727/5921f350c0254e1fa6fb7fa1d2355786.png [Center 13]: /images/20220727/c6e2983393c34b1d8e33c7719dee15cd.png [Center 14]: /images/20220727/094ae1a397824b6ebfbd0cb03de0f190.png
相关 Java面向对象编程基础:类与对象 在Java中,类是面向对象编程的基本构建块。对象则是基于类创建的实例。 1. 类(Class): - 声明:使用`class`关键字定义一个类。 ```java class 男娘i/ 2024年10月23日 05:15/ 0 赞/ 33 阅读
相关 Java面向对象编程基础:类和对象 在Java中,类和对象是面向对象编程的两个基本概念。 1. **类(Class)**: - 类是一种模板或蓝图,用于创建具有相同属性和行为的对象。 - 类通常包括 ﹏ヽ暗。殇╰゛Y/ 2024年09月18日 19:24/ 0 赞/ 81 阅读
相关 Java面向对象编程基础:类,对象 在Java面向对象编程中,"类"和"对象"是两个基本的概念。 1. 类(Class): 类是对象的模板或者蓝图。它定义了一组属性(数据成员)以及一组行为(方法)。当你创建一个 青旅半醒/ 2024年09月10日 05:21/ 0 赞/ 73 阅读
相关 面向对象与面向过程、类和对象 面向过程 代码量大 不易维护 面向对象 可拓展性强 维护成本低 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shado 今天药忘吃喽~/ 2023年01月05日 12:57/ 0 赞/ 281 阅读
相关 面向对象基础——String类 String类的两种实例化方法 A:直接赋值 public class StringDemo01{ public static void main( 深藏阁楼爱情的钟/ 2022年07月28日 00:19/ 0 赞/ 258 阅读
相关 面向对象基础——类与对象的定义 面向对象的概念 ![Center][] ![Center 1][] 封装性:对外部不可见。可以保护程序中的某些内容。 继承性:扩展功能的。 类与对象的关 淩亂°似流年/ 2022年07月27日 14:52/ 0 赞/ 221 阅读
相关 java面向对象——类与对象 1. 类的定义 类是某一批对象的抽象,可以把抽象理解成某种概念。 类名需要每个单词的首字母大写 类的定义包含:构造方法(构造器)、成员变量、成员方法。类里个成员之间的 痛定思痛。/ 2022年05月09日 13:00/ 0 赞/ 422 阅读
相关 类与面向对象 1. 三个重要特性:封装继承多态。 2. 什么叫面向对象:人把大象装进冰箱。 3. 一个类,内部包含什么:代码块,属性,方法,内部类;设计类其实就是设计类内部的属性和方法 快来打我*/ 2022年03月26日 15:44/ 0 赞/ 407 阅读
相关 Java面向对象-类与对象 类的定义 下面看实例 类的创建和使用 看下面实例 我们在com.java.chap03.sec01包下新建一个Person类 `package` `com.java. 淩亂°似流年/ 2022年03月16日 07:14/ 0 赞/ 478 阅读
还没有评论,来说两句吧...