news 2026/6/10 12:33:16

Java面向对象-类与方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java面向对象-类与方法

对象:把相关的数据和方法组织为一个整体来看待

面向对象:利用对象进行软件开发

类和对象

用一个类来描述一种事物

//类 public class Dog{ String name; int age; double weight; String color; } ​ ​ //创建对象 Dog d = new Dog() //给对象赋值 d.name = "小白" d.age = 7

描述一类事物的类叫javabean类,无main方法

带有main方法的类叫测试类

Javabean类可以写属性和行为(方法),即此对象能干什么

public class Teacher { //属性 String name; int age; String subject; //方法 public void teach(){ System.out.println("我是" + name + ",我" + age + "岁,我是" + subject + "老师"); } public void sleep(){ System.out.println("我是" + name + ",我" + age + "岁,我是" + subject + "老师,我正在睡觉"); } } ​ public class Text { static void main() { //创建一个老师对象 Teacher mathTeacher = new Teacher(); //给属性赋值 mathTeacher.name = "张三"; mathTeacher.age = 30; mathTeacher.subject = "数学"; //调用方法 mathTeacher.teach(); mathTeacher.sleep(); } }

面向对象中数据安全问题

private关键字
  1. 是一个权限修饰符,可以修饰成员变量和成员方法

  2. 一旦被private修饰,只能在本类中访问,外界无法访问

get/set方法

通过get/set方法修改本类中的private变量

一键生成:

mac:command+n生成

windows:alt+insert

public class Teacher { //属性 private String name; private int age; private String subject; //方法 ​ public String getName() { return name; } ​ public void setName(String name) { this.name = name; } ​ public int getAge() { return age; } ​ public void setAge(int age) { this.age = age; } ​ public String getSubject() { return subject; } ​ public void setSubject(String subject) { this.subject = subject; } ​ public void teach(){ System.out.println("我是" + name + ",我" + age + "岁,我是" + subject + "老师"); } public void sleep(){ System.out.println("我是" + name + ",我" + age + "岁,我是" + subject + "老师,我正在睡觉"); } }

this关键字

在set方法中,成员变量和局部变量名相同, 变量默认就近原则,想要直接使用成员变量加this前缀表示

作用:区分成员变量和局部变量

构造方法

构造方法叫构造器、构造函数

作用:在创建对象时给成员变量进行初始化

修饰符 类名(参数){ 方法提; } ​ public class Student { //属性 private String name; private int age; private String subject; //方法 //无参构造方法 ​ public Student() { } ​ //有参构造方法 public Student(String name, int age, String subject) { this.name = name; this.age = age; this.subject = subject; } }

特点:

  1. 方法名与类名相同,大小写也要一致

  2. 没有返回值类型,连void都没有

  3. 没有具体的返回值(不能由retrun带回结果数据)

执行时机:

  1. 创建对象的时候由虚拟机调用,不能手动调用构造方法

  2. 每创建一次对象,就会调用一次构造方法

注意事项:

  1. 如果没有定义构造方法,系统将给出一个默认的无参构造方法

  2. 如果自己写了任意构造方法,系统将不再提供默认的构造方法

  3. 带参构造方法和无参构造方法,两者方法名相同,但是参数不同,这叫做构造方法的重载

  4. 习惯:无论是否使用,都手动书写无参数构造方法,和带全部参数的构造方法

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:31:28

Vue2学习(1)--了解基本方法与概念

本文内容的方法演示也都是通过一个html文件来演示的,旨在简易的了解Vue用法。要学习Vue ,先安装好环境,试一下创建一个html文件,安装扩展:在vscode中安装Volar,Vue(Official),Live ServerLive Server: 这是一个轻量级的…

作者头像 李华
网站建设 2026/6/10 12:29:06

FreeRTOS 移植到 STM32F407VETX 记录(一)

基础工程:STM32CubeIDE 生成的 STM32F407VETX HAL 库工程 FreeRTOS 版本:V11.1.0(CM4F 移植层) 编译器:arm-none-eabi-gcc,-mfpufpv4-sp-d16 -mfloat-abihard 建议看B站视频《嵌入式全套STM32FreeRTOS教程…

作者头像 李华
网站建设 2026/6/10 12:10:32

Jamba混合架构:Transformer+Mamba+MoE如何突破长上下文推理瓶颈

1. 项目概述:当Transformer遇见Mamba,Jamba如何重构大模型的效率边界 最近在调试一个长文本摘要服务时,我卡在了显存瓶颈上——Llama-3-70B跑128K上下文直接OOM,换Mixtral又觉得推理延迟偏高。就在我翻论文找替代方案时&#xff0…

作者头像 李华
网站建设 2026/6/10 12:09:36

ML模型服务化实战:从Notebook到生产环境的稳定落地

1. 项目概述:这不是一次“部署上线”演示,而是一场真实世界的ML交付实战复盘 “From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题里藏着三个关键信号: Notebook 是起点,不是终点;…

作者头像 李华
网站建设 2026/6/10 12:05:41

从脑波原始数据到应用:用Python解析金牛座TGAM模块的115200波特率信号流

从脑波原始数据到应用:用Python解析金牛座TGAM模块的115200波特率信号流 脑电信号分析正逐渐从实验室走向消费级应用,而TGAM模块的出现让开发者能以更低成本获取高质量的原始脑波数据。当你面对115200波特率下源源不断的数字信号流时,如何将其…

作者头像 李华