Java-简单认识类和对象(上)

简介: Java-简单认识类和对象(上)

一、初步认识面向对象



       1.1 什么是面向对象


Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。


1.2 面向对象和面向过程


               拿家中洗衣服为例,在自动洗衣机出现前,都是手洗衣服,要清楚每一步及接下来的过程,洗衣过程如图例

9b2a9ce9c6bf43e8bb8b1042cb9997cf.png

注重洗衣服过程,其中的环节都不能少,不同衣服洗的方法、时间长度、脱水方式不同,按照此方式写代码,将来扩展和维护就比较麻烦。而在自动洗衣机出现之后,人们就不需要再注意过程。只需将衣服向洗衣机里一放,倒入洗衣粉,调好模式(洗的方式,时间长短,脱水方式)最后启动即可。

59dc390235324443b72ffeb17d7dd527.png


在洗衣服过程中,总共有四个对象:人、衣服、洗衣粉、洗衣机,洗衣服过程:人将衣服放入洗衣机、倒入洗衣粉、启动洗衣机,洗衣机就能完成洗衣服过程并脱水。整个过程是人、衣服、洗衣粉、洗衣机四个对象之间交互完成,人不需要关心洗衣机具体是如何洗衣服,如何脱水的。

dba0c62214e5449a99ecdade0beb8b98.png

面向对象方式来进行处理,就不关注洗衣服的过程,具体洗衣机是怎么来洗衣服,如何来甩干的,用户不用去关心,只需要将衣服放进洗衣机,倒入洗衣粉,启动开关即可,通过对象之间的交互来完成的


注意:面向过程和面相对象不是一门语言,而是解决问题的方法,没有好坏之分,都有专门的应用场景


二、类的定义和使用



面相对象程序设计关注的是对象,而对象是现实生活中的实体,比如:洗衣机。但是洗衣机计算机并不认识,需要开发人员告诉计算机什么是洗衣机,比如洗衣机的品牌、型号、尺寸、重量、洗涤功率、脱水功率、洗涤容量、脱水容量、洗涤模式、材质等,这些对洗衣机的描述就是对洗衣机对象(实体)进行抽象,但是这些简化的抽象结果计算机也不能识别,开发人员可以采用某种面相对象的编程语言来进行描述,比如:Java语言。


2.1 认识类


               类是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来做什么),描述完成后计算机就可以识别了。

               例如:洗衣机是一个品牌,可以看成一个类

               属性:品牌、型号、重量、尺寸、颜色等

               功能:洗衣、定时、脱水等


2.2 定义类的格式


               在java中用class关键字定义类。


            //创建类
           class ClassName{
                  field;                //属性或者字段或者成员变量
                  method;              //功能或者行为或者成员方法
           }


例如:对洗衣机类进行定义


 class WashMechine{
             //成员变量
             public String brand;//品牌
             public String type;//型号
             public String color;//颜色
             public double length;//长
             public double width;//宽
             public double height;//高
             //方法
             public void Washclothes(){
                 ystem.out.println("洗衣服功能");
             }
             public void  Dryclothes(){
                 System.out.println("脱水功能");
             }
             public  void Settime(){
                 System.out.println("定时功能");
             }
        }


注意:类名采用大驼峰定义,成员前都为public写法,方法不带static关键字


       2.3 练习


               1.定义一个狗的类


class Doge {   
                        //属性或成员变量    
                        public String name;//名字    
                        public String color;//颜色
                        //方法
                        //喊叫
                        public void barks(){
                                System.out.println(name+":汪汪汪~~~");
                        }
                        //摇尾巴
                        public void wag(){
                                System.out.println(name+":摇尾巴~~~");
                        }


2.定义一个学生类


class  Students{
             //属性或成员变量    
            public String id;//学号
            public String name;//姓名
            public String sex;//性别
            public int age;//年龄
            public String address;//住址
            //方法
            //上课
            public void Doclass(){
                System.out.println("按时上课,不能迟到,如果请假,请及时补课");
            }
            //写作业
            public void Dohomework(){
                System.out.println("在教务系统查看并完成作业,不能不写");
            }
            //考试
            public void Exam(){
                System.out.println("考试的科目、时间、地点、座号");
            }
        }

注意:一般一个文件当中只定义一个类;main方法所在的类一般要使用public修饰, Eclipse默认会在public修饰的类中找main方法;public修饰的类必须要和文件名相同;不要轻易去修改public修饰的类的名称,如果要修改,通过开发工具修改。

f0a11d3871894c1487b90fb8f58acdeb.png



目录
相关文章
|
2天前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:输入与输出:Scanner与System类
你是否也经历过这些崩溃瞬间?三天教程连`i++`和`++i`都说不清,面试时`a==b`与`equals()`区别大脑空白,代码总是莫名报NPE。这个系列就是为你打造的Java「速效救心丸」!每天1分钟,地铁通勤、午休间隙即可学习。直击高频考点和实际开发中的“坑位”,拒绝冗长概念,每篇都有可运行代码示例。涵盖输入输出基础、猜数字游戏、企业编码规范、性能优化技巧、隐藏技能等。助你快速掌握Java核心知识,提升编程能力。点赞、收藏、转发,助力更多小伙伴一起成长!
30 19
|
3天前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
33 11
|
9天前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
|
2天前
|
存储 算法 安全
Java对象创建和访问
Java对象创建过程包括类加载检查、内存分配(指针碰撞或空闲列表)、内存初始化、对象头设置及初始化方法执行。访问方式有句柄和直接指针两种,前者稳定但需额外定位,后者速度快。对象创建涉及并发安全、垃圾回收等机制。
Java对象创建和访问
|
8天前
|
存储 Java 编译器
课时11:综合实战:简单Java类
本次分享的主题是综合实战:简单 Java 类。主要分为两个部分: 1.简单 Java 类的含义 2.简单 Java 类的开发
|
10天前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
34 5
|
8天前
|
Oracle Java 关系型数据库
课时37:综合实战:数据表与简单Java类映射转换
今天我分享的是数据表与简单 Java 类映射转换,主要分为以下四部分。 1. 映射关系基础 2. 映射步骤方法 3. 项目对象配置 4. 数据获取与调试
|
1月前
|
存储 Java
Java中判断一个对象是否是空内容
在 Java 中,不同类型的对象其“空内容”的定义和判断方式各异。对于基本数据类型的包装类,空指对象引用为 null;字符串的空包括 null、长度为 0 或仅含空白字符,可通过 length() 和 trim() 判断;集合类通过 isEmpty() 方法检查是否无元素;数组的空则指引用为 null 或长度为 0。
|
1月前
|
安全 Java 编译器
JAVA泛型类的使用(二)
接上一篇继续介绍Java泛型的高级特性。3. **编译时类型检查**:尽管运行时发生类型擦除,编译器会在编译阶段进行严格类型检查,并允许通过`extends`关键字对类型参数进行约束,确保类型安全。4. **桥方法**:为保证多态性,编译器会生成桥方法以处理类型擦除带来的问题。5. **运行时获取泛型信息**:虽然泛型信息在运行时被擦除,但可通过反射机制部分恢复这些信息,例如使用`ParameterizedType`来获取泛型参数的实际类型。
|
1月前
|
安全 Java 编译器
JAVA泛型类的使用(一)
Java 泛型类是 JDK 5.0 引入的重要特性,提供编译时类型安全检测,增强代码可读性和可维护性。通过定义泛型类如 `Box<T>`,允许使用类型参数。其核心原理是类型擦除,即编译时将泛型类型替换为边界类型(通常是 Object),确保与旧版本兼容并优化性能。例如,`Box<T>` 编译后变为 `Box<Object>`,从而实现无缝交互和减少内存开销。

热门文章

最新文章