当前位置: 首页 > news >正文

面向对象学习(一)

一、面向对象思想介绍:

二、类和对象:

2.1类:

1.测试类:带main方法的类,主要是运行代码的;

2.实体类:是一类事物的抽象表示形式

3.组成部分:

        <1>属性(成员变量):这一类事物有什么:

                a.定义位置:类中方法外

                b.作用范围:作用于当前类

                c.定义格式:数据类型 变量名

                d.都有默认值

        <2>行为(成员方法):这一类事物都能干啥

                只需要将方法所学中的static去掉。(因为静态方法无法直接访问实例变量和实例方法)

 2.2对象:

1.概述:一类事物的具体体现;

2.使用:

        a.导包:import 包名.类名

           如果两个类在同一个包下,想要使用对方的成员不需要导包

           如果两个类不在同一个包下,想要使用对方的成员需要导包。

            特殊包:java.lang → 使用lang包下的类不需要导包(eg:String)

        b.创建对象:想要使用哪个类中的成员,就new哪个类的对象

          类名 对象名 = new 类名() 

        c.调用成员(成员变量,成员方法)

           对象名.成员变量 = 值

           对象名.方法名() → 无参无返回值

           对象名.方法名(实参) → 有参无返回值

           数据类型 变量名 = 对象名.方法名() → 无参有返回值

           数据类型 变量名 = 对象名.方法名(实参) → 有参有返回值

三、练习:

1.用代码描述一个手机类,在测试类中为手机类的各类属性赋值,并且调用手机类中的功能。

public class Phone {String brand;double size;public void play(){System.out.println("刷抖音");}public void picture(int times) {if (times <= 7) {System.out.println("看照片");} else {System.out.println("拍照片");}}}
public class text {public static void main(String[] args) {Phone phone = new Phone();phone.brand = "samsung";phone.size = 6.1;phone.play();phone.picture(8);}
}

四、匿名对象:

1.int i = 10

        a.int :数据类型;

        b.i:变量名;

        c.等号右边的10:真正的数据

2.Person p = new Person()

        a.等号左边的Person:对象的类型,类似int;

        b.p:对象名

        c.等号右边的new Person():真正的数据,是一个Person对象,将这个对象真正创建出来了

2.匿名对象:

2.1.所谓匿名对象:其实就是没有等号左边的部分,只有右边的部分(对象)

2.2.使用:

        new 对象().成员

2.3.注意:

        a.如果只想单纯调用一个方法,让方法执行,我们可以考虑匿名对象

        b.如果涉及到赋值,千万不要用匿名对象。(涉及内存空间问题)

http://www.lryc.cn/news/607576.html

相关文章:

  • 【Linux我做主】细说环境变量
  • Vue2 项目实现 Gzip 压缩全攻略:从配置到部署避坑指南
  • IIS 让asp.net core 项目一直运行
  • TwinCAT3编程入门2
  • 第k小整数(快排)
  • 如何理解卷积,和自注意力机制的局限与优势(个人理解)
  • 倒计时!2025国自然放榜时间锁定
  • 使用Nginx部署前端项目
  • 【Linux】磁盘存储+文件系统简介
  • 开箱即用的Next.js SSR企业级开发模板
  • Java Ai 数组:day(09)
  • 【Nginx反向代理】通过Nginx反向代理将多个后端server统一到同一个端口上的方法
  • 算法题——数组
  • Implement recovery based on PITR using dump file and binlog
  • Deep Height Decoupling for Precise Vision-based 3D Occupancy Prediction
  • 【JAVA面试】基础篇
  • 代码随想录算法训练营三十三天|动态规划part06
  • GenieWizard: Multimodal App Feature Discovery with LargeLanguage Models
  • 直播平台中的美白滤镜实现:美颜SDK的核心架构与性能优化指南
  • Java 22 新特性解析与代码示例
  • Corrosion2靶机攻略
  • three.js实现随机山脉波纹效果
  • 【LeetCode刷题指南】--单值二叉树,相同的树
  • RustFS:高性能文件存储与部署解决方案(MinIO替代方案)
  • session和cookie作用详解
  • Solana:解决Anchor Build编译程序报错 no method named `source_file` found for struct
  • 设计模式1:创建型模式
  • 后台管理系统权限管理:前端实现详解
  • PDFsam免费开源!PDF分割合并工具
  • unity学习——视觉小说开发(一)