首页 > 编程语言 >JavaOOP01——对象定义

JavaOOP01——对象定义

时间:2024-11-05 16:19:37浏览次数:5  
标签:定义 构造方法 访问 对象 JavaOOP01 int Integer public

目录

一、 面向对象概念

二、面向对象程序设计步骤

三、封装步骤 

四、构造方法及重载 

五、this()形成构造函数链 

六、基本数据类型与包装类 

七、Integer 类基本介绍


一、 面向对象概念

 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它使用“对象”来设计软件。在Java中,对象是类的实例。类定义了对象的属性(字段)和行为(方法)。面向对象编程有四大特性:

- 封装:将数据和操作数据的方法捆绑在一起,隐藏内部实现细节。
- 继承:允许创建一个新的类继承另一个类的属性和方法。
- 多态:允许子类重写或实现父类的方法,从而可以使用父类引用调用子类的方法。
- 抽象:只展示对象的外部特征,而隐藏其内部实现细节。

二、面向对象程序设计步骤

 面向对象的设计过程通常包括以下几个步骤:

- 分析需求:明确系统需要解决的问题。
- 识别对象:找出系统中的实体,并确定它们的属性和行为。
- 设计类:为每个实体定义一个类,包括它的属性(成员变量)和方法(成员函数)。
- 建立关系:确定这些类之间的关系,如继承、聚合等。
- 实现类:编写代码实现每个类的功能。
- 测试与维护:测试程序并进行必要的维护以确保系统的正确性和健壮性。

三、封装步骤 

 

封装涉及以下步骤:

  • 声明私有成员:类中的数据成员应声明为private,防止直接访问。

  • 提供公共访问器(getter)和修改器(setter):通过public方法来读取(getter)和设置(setter)私有成员的值。

  • 使用内部逻辑控制访问:在getter和setter中可以加入逻辑处理,比如验证输入的有效性。

访问修饰符

  1. public

    • 最高级别的访问权限,被声明为 public 的成员可以在任何地方被访问。

    • 示例:public class MyClasspublic int myMethod()

  2. protected

    • 被声明为 protected 的成员可以被同一包内的任何类以及不同包内的子类访问。

    • 示例:protected String myField

  3. default(无修饰符)

    • 缺省的访问级别(也称为 package-private),意味着成员只能在同一包内被访问。

    • 示例:int myField(没有显式的访问修饰符)。

  4. private

    • 最严格的访问级别,被声明为 private 的成员只能在声明它的类内部被访问。

    • 示例:private String mySecret

四、构造方法及重载 

 

构造方法是一个特殊的方法,用于初始化新创建的对象。构造方法的特点如下:

- 名字必须与类名相同。
- 没有返回类型**。
- 自动调用,无需显式调用**。

构造方法可以被重载(Overloading),即在同一个类中可以有多个构造方法,只要它们的参数列表不同即可。例如:

public class MyClass {
    public MyClass() { /* 默认构造方法 */ }
    public MyClass(int value) { /* 参数化构造方法 */ }
}

五、this()形成构造函数链 

 `this()` 是一种特殊的构造方法调用,它可以在构造方法中用来调用同一个类中的其他构造方法。这种调用必须作为第一个语句出现在构造方法体中。例如:

public class MyClass {
    public MyClass() {
        this(10); // 调用参数化的构造方法
    }

    public MyClass(int value) {
        // 初始化逻辑
    }
}

六、基本数据类型与包装类 

 Java中有8种基本数据类型:

- `byte`, `short`, `int`, `long` - 整型
- `float`, `double` - 浮点型
- `boolean` - 布尔型
- `char` - 字符型

对于每一个基本数据类型,Java都提供了对应的包装类,例如:

- `byte` -> `Byte`
- `int` -> `Integer`
- `float` -> `Float`
- `boolean` -> `Boolean`
- `char` -> `Character`

包装类提供了许多静态方法和实例方法来操作对应的基本数据类型值。

七、Integer 类基本介绍

`Integer` 类位于 `java.lang` 包中,因此不需要导入就可以使用。`Integer` 类有几个重要的特点:

1. 包装类:`Integer` 对象可以用来包装一个 `int` 类型的值。
2. 常量池:`Integer` 类有一个缓存范围(默认情况下从 `-128` 到 `127`),在这个范围内的整数会复用已存在的对象,而不是创建新的对象。
3. 实用工具方法:`Integer` 提供了一系列静态方法来帮助进行数值转换和处理。

Integer 类的常用方法

1. 构造方法:
   - `Integer(int value)`:使用给定的 `int` 值创建 `Integer` 对象。
   - `Integer(String s)`:使用给定的字符串创建 `Integer` 对象,字符串必须表示一个有效的整数。
2. 数值转换:
   - `Integer.parseInt(String s)`:将字符串转换为 `int` 类型。
   - `Integer.toString(int value)`:将 `int` 类型转换为字符串表示形式。
3. 比较和运算:
   - `Integer.compareTo(Integer anotherInteger)`:比较两个 `Integer` 对象的大小。
   - `Integer.sum(int a, int b)`:返回两个整数的和。
4. 其他方法:
   - `Integer.hashCode()`:返回 `Integer` 对象的哈希码。
   - `Integer.equals(Object obj)`:判断两个 `Integer` 对象是否相等。
   - `Integer.intValue()`:将 `Integer` 对象转换为其所包装的 `int` 值。

 

标签:定义,构造方法,访问,对象,JavaOOP01,int,Integer,public
From: https://blog.csdn.net/XYL6AAD8C/article/details/143499595

相关文章

  • JSP九大内置对象和四大作用域
    get和post区别:比较项getpost缓存可以不可以收藏为书签可以不可以数据长度有限制(URL的最大长度是2048个字符)无限制编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded或multipart/form-data。为二进制数据使用多......
  • 高级宏定义
    宏定义定义符号常量#define[]#undefPI约定为大写,编译器不检查宏定义,不加分号;类似sed流,带参数必须与宏名()紧密连接,否则是替换功能三大预处理功能之一的本质--机械替换不智能///C:宏定义定义符号常量#include<stdio.h>//宏定义替换所有PI#definePI3.14......
  • 实验3 类和对象_基础编程2
    任务1button.hpp1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const;1......
  • scala中类和对象
    1.面向对象的三大特征:封装,继承,多态2.创建类和对象a.用class来创建类,用new来创建对象。创建一个Person类并创建它的对象,然后将对象打印到控制台上objectMain{ //定义类 classPerson{} defmain(args:Array[String]):Unit={  println("Heeloworld") ......
  • 手把手教你编写自定义Categraf插件
    本文分享自天翼云开发者社区《手把手教你编写自定义Categraf插件》,作者:任****佳Categraf是一个监控采集Agent,类似Telegraf、Grafana-Agent、Datadog-Agent,希望对所有常见监控对象提供监控数据采集能力,采用All-in-one的设计,不但支持指标采集,也希望支持日志和调用链路的数据采......
  • 第二章 JavaScript操作BOM对象与DOM对象
    一、BOM对象1.BOM模型BOM:浏览器对象模型(BrowserObjectModel)BOM提供了独立于内容的、可以与浏览器窗口进行互动的对象结构BOM可实现功能弹出新的浏览器窗口移动、关闭浏览器窗口以及调整窗口的大小页面的前进、后退2.window对象属性属性名称说明history有关客户......
  • 实验3 类和对象_基础编程2
     实验任务1实验代码:1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const;14......
  • 实验3 类和对象_基础编程2
    任务1:button.hpp#pragmaonce#include<iostream>#include<string>usingstd::string;usingstd::cout;//按钮类classButton{public:Button(conststring&text);stringget_label()const;voidclick();private:string......
  • #Java-对象补充及字符串详讲
    0.类和对象深入解释在Java中,类(Class)和对象(Object)是两个核心概念,它们共同构成了面向对象编程(OOP)的基础。类(Class)定义:类是一个模板或蓝图,它描述了具有相同属性和行为的一组对象的共同特征。在Java中,类通过关键字class来定义。组成:类通常由成员变量(也称为属性或字段)和方......
  • 稀疏感知&稀疏预定义数据调度器
    稀疏感知的数据调度器和稀疏预定义的数据调度器虽然都针对稀疏数据的高效调度,但在处理方式和灵活性上有所不同。稀疏感知数据调度器(Sparse-AwareScheduler)稀疏感知数据调度器的核心在于其动态适应性和智能调度能力。它不仅知道数据是稀疏的,还能动态识别稀疏性模式并实时适应调......