Java面向对象1
2022/1/28 20:05:17
本文主要是介绍Java面向对象1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java面向对象1
面向对象:强调具备了功能的对象,以类/对象(关注名词)为最小单位,考虑谁来做
面向对象思想(执行者—>指挥者)
- 根据问题,选择问题所针对的现实世界的实体
- 从实体中找解决问题的属性和功能,形成概念世界中的类
- 抽象实体用计算机语言描述,形成计算机中的类的定义(借助程序语言,百类构造成计算机能识别处理的数据结构)
- 将类实例转换成计算机世界中的对象。对象是计算机世界中解决问题的最终工具
Java语言基本元素
类与对象的使用
1.创建类,设计类的成员 2.创建类的对象 3.通过“对象.属性”或是“对象.方法”调用对象的结构
属性=成员变量=field=域,字段 方法=成员方法=函数=method 创建类的对象=类的实例化=实例化类
类与对象
类:对一类事物的描述,是抽象的,概念上的定义
对象:实际存在的该类事物的每个个体,因而也称为实例
- 对象的功能取决于类的设计(类的成员)
实操
//测试类 public class Demo01 { public static void main(String[] args) { //创建person的对象1 Person p1 = new Person(); /* 调用对象的结构 :属性,方法 */ //调用属性:“对象.属性” p1.name = "Tom"; p1.isMale = true; System.out.println(p1.name); //调用方法:“对象.方法” p1.eat(); p1.sleep(); p1.talk("chinese"); /*=============================================================*/ //对象2 Person p2 = new Person(); System.out.println(p2.name); /*============================================================*/ Person p3 = p1;//p1对象的地址赋值给p3,导致p1,p3指向了堆空间中同一对象的实体 System.out.println(p3.name); p3.age = 10; System.out.println(p1.age); } } //类 class Person{ //属性 String name; int age = 1; boolean isMale; //方法 public void eat(){ System.out.println("人可以吃饭"); } public void sleep(){ System.out.println("人可以睡觉"); } public void talk(String language){ System.out.println("人可以说话使用的是"+language); } }
内存解析
- 堆:存放对象实例(new都在堆里)
- 栈:存储局部变量
- 方法区:存储类信息,常量,静态变量,即时编译器编译后的代码
属性和局部变量
类中属性的使用属性(成员变量) 和 局部变量 相同:1.定义格式:类型+名字=值 2.先声明后使用 3.有自己的作用域 不同 1.类中声明的位置不同 属性:直接定义在类的一对{}中 局部变量:声明在方法内,方法形参,代码 块,构造器形参,构造器内部 2.关于权限修饰符的不同 属性:在声明时,指明其权限,使用权限修饰符(常用private,public,却省(不写),protected) 局部变量:不可以使用权限修饰符 默认初始化值属性: 类的属性,根据类型来默认 整型:0 浮点型:0.0 字符型:0或是’\u0000‘ 布尔型:false 引用数据类型(类,数组,接口):null 局部变量:没有初始化值 一定要显式赋值 注:形参在调用时再赋值 加载的位置 属性:堆(非static) 局部变量:栈
public static void main(String[] args) { User u1 = new User(); System.out.println(u1.name); System.out.println(u1.age); u1.talk("中文"); u1.eat(); } } class User{ //属性 String name; int age; public void talk(String language) {//形参:language System.out.println("我们使用" + language + "进行交流"); } public void eat(){ String food = "包子";//局部 System.out.println(food); }
这篇关于Java面向对象1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04百万架构师第六课:设计模式:策略模式及模板模式
- 2025-01-04百万架构师第七课:设计模式:装饰器模式及观察者模式
- 2025-01-04适用于企业管理的协作工具API推荐
- 2025-01-04挑战16:被限流的CPU
- 2025-01-03企业在选择工具时,如何评估其背后的技术团队
- 2025-01-03Angular中打造动态多彩标签组件的方法
- 2025-01-03Flask过时了吗?FastAPI才是未来?
- 2025-01-0311个每位开发者都应知道的免费实用网站
- 2025-01-03从REST到GraphQL:为什么以及我是如何完成转型的
- 2025-01-03掌握RAG:从单次问答到连续对话