Java类和对象的特征

Code Ocean 上传代码 手把手教程 对于一些学术期刊,录用前会让把代码上传到Code Ocean上,但上传过程可能会遇到一些问题,小编分享一下自己的上传经验。他们会进行验证,验证通过,将自动发布。点此运行即可,但是运行比较慢。 阅读详情

静态变量、静态方法

static关键字的含义

 关键字:static的含义的是:静态的。
 static可以修饰类中的属性和方法,被static修饰的属性我们称之为变量,被static修饰的方法我们称之为类方法。
 面向对象的重要特征之一是封装,即各个对象只能访问自己的成员变量和成员方法,若要使某些变量和方法被该类的所有对象共享,则必须定义为静态变量和静态方法。

静态变量

 类的变量分为静态变量和实例变量2种,static修饰的是静态变量,没有使用static修饰的是实例变量。

静态变量和实例变量二者的区别:

  1. 静态变量在内存中只有一个内存空间,在加载类的过程中完成静态变量的内存分配,可以直接通过类名访问。
  2. 每创建一个新的实例对象,就会为实例变量分配不同的内存,各个对象访问自己的实例变量。

注意:
 无论创建了一个类的多个对象,静态变量只初始化一次,所有的实例都可以访问此静态变量,而且可以通过类名直接访问。

示例:

/**
 * 使用实例变量实现共同的售票
 * */
public class Demo_one {
    public static void main(String[] args) {
          Saler saler = new Saler();
          saler.name="张三";
          saler.sale();
          Saler saler1 = new Saler();
          saler1.name="李四";
          saler1.sale();
          //开始具体卖票
          saler.sale();
          saler1.sale();
          saler.sale();
          saler1.sale();
          saler.sale();
          saler1.sale();
          saler.sale();
    }

}
class Saler{
    public String name;
    public int tickets = 5;
    //定义模拟卖票方法
    public void sale(){
        if(tickets > 0){
            System.out.println(name+"售票一张,当前剩余:"+ --tickets);
        }
    }
}

结果如下图:
在这里插入图片描述可以发现,二个售票员都在单独的卖票,每个人都卖5份,而实际中是二个人共同卖5份。所以如果同一个类的多个对象可以共享这个变量需要设置成静态的。

示例:

class Saler{
    public String name;
    //只需要在需要共享的变量前加static关键字就可以。
    public static int tickets = 5;

    //定义模拟卖票方法
    public void sale(){
        if(tickets > 0){
            System.out.println(name+"售票一张,当前剩余:"+ --tickets);
        }
    }
}

结果如下图
在这里插入图片描述这样就可以正常的卖票了。

静态方法

 static修饰的方法叫做静态方法,可以直接使用“类名.方法()”来调用。

语法:

  [权限修饰符] static 返回值类型 方法名称(类型 参数1,类型 参数2){
     方法体;
  }

注意:
 static修饰方法时候,该关键字static处于访问权限修饰符的后面,返回值类型的前面。静态方法中只能调用一个类的静态成员(静态属性和静态方法),不能直接调用同一个类的实例成员。

示例:

/**
 * 使用静态方法,完成售票
 * */
public class Demo_one {
    public static void main(String[] args) {
        Saler.sale();
        Saler.sale();
        Saler.sale();
        Saler.sale();
        Saler.sale();
        Saler.sale();
        Saler.sale();
    }
}
class Saler{
    public static int tickets = 5;
    //定义模拟卖票方法
    public static void sale(){
        if(tickets > 0){
            System.out.println("售票一张,当前剩余:"+ --tickets);
        }
    }
}

final修饰变量

 修饰变量的时候,表示该变量的值不可改变,成为常量。

语法:

final 数据类型 变量名 = 值;

final的特征

  1. final修饰符可以修饰静态变量、实例变量和局部变量,分别表示静态常量、实例常量和局部常量。
  2. final类型的变量必须显示地初始化,否则将导致编译错误。
  3. final变量只能被赋值一次。
  4. 在定义final常量时,一般以大写字母命名,且多个单词之间使用下划线隔开。
  5. 常量只能赋值一次。

示例:

/**
 * 设置一个静态常量,一个普通常量还有一个局部常量
 * */
public class Demo_one {
    public static void main(String[] args) {
       System.out.println("=================");
       Saler saler = new Saler();
       saler.methodd();
        Saler saler1 = new Saler();
        saler1.methodd();
        Saler saler2 = new Saler();
        saler2.methodd();
    }
}
class Saler{
    final static int age = 21;
    final  Double num = Math.random();
    public void methodd(){
        final int total;
        total = 2;
        System.out.println("局部常量total的值是"+total);
        System.out.println("静态常量age的值是"+age);
        System.out.println("常量num的值是"+num);
        System.out.println("-----------------");
    }
}

 定义final变量的时候,必须同时为其赋初始值。

包

什么是包

 Java中的类似于Windows系统的文件夹。文件夹的作用是可以区分不同目录下的同名文件。

包的命名

 包的命名通常是域名反转,全部名称使用小写。

JavaSE类库中的常用包

 JDK提供了一些Java的常用包,主要包括3种:

  1. Java.lang包:包含线程类(Thread)、异常类(Exception)、系统类(System)、整数类(Integer)和字符串类(String)等。通常在编写Java程序时使用。Java.lang包是由Java虚拟机自动引入的包,即使程序没有“import java.*”语句来引入此包,它也会被自动引入。
  2. Java.io包:输入/输出包,包含各种输入流类和输出流类。例如:文件输入流类(FileInputStream类)、文件输出流类(FileOutputStream类)等。
  3. Java.util包:提供日期类(Date)、集合类(Collection)等实用类。
    除了以上的3种,JDK中还有很多其他的包,例如:用于数据库编程的Java.sql包、用于网络程序的Java。rmi包以及用于编写声音程序的Javax.sound包。
深入解析五大ADC芯片架构及其应用场景 本文深入解析了五大ADC芯片架构及其应用场景,包括逐次逼近型ADC、Σ-Δ型ADC、流水线型ADC、闪存型ADC和积分型ADC。通过详细的架构分析和实际应用案例,帮助工程师理解不同ADC芯片的特点和适用场景,提升电路设计效率。 阅读详情

相关推荐

Python抓取摄像头图像,进行AI识别(一)

本文介绍了如何用Python获取海康威视摄像头的图像并进行AI识别。主要内容包括:1)准备工作,包括摄像头IP设置和密码重置方法;2)使用Python的Requests库通过ISAPI接口获取实时图像;3)示例代码展示如何保存摄像头图像。整个过程为后续AI图像识别提供了基础,通过简单的Python代码即可实现专业监控设备的图像采集功能。

Hahafantuan的博客 1513

类和“对象” 以及 面向对象的三大特点

一、类和“对象”: 类是一种抽象出来的,可以说是对某些事物的概括他们属性、行为的集合。可以很抽象,也可以具体一点,比如:动物类,就可以包含哺乳动物、软体动物、鸟类、鱼类···。我们从中又可以拿出比动物类具体一点的哺乳类,包含着犬科类、猫科类···。还能在具体,比如猫科类还可以再分为好多类。各种类都有其行为和属性。类在我们生活中无处不在,但却是一种抽象的存在。而我们能直接接触到的就是“对象”, 对象是类的实例,是一个“东西”,它真真实实的存在。比如你有哥哥、弟弟,家里总共三...

weixin_52575498的博客 2397

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7317

Java 类与对象的三大特征

一、封装 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,⽽是通过该类提供getter setter的⽅法来 对隐藏的信息进⾏操作和访问 封装的实现步骤: 修改属性的可⻅性设为(private) 创建getter/setter⽅法(⽤于属性的读写)(通过这两种⽅法对数据进⾏获取和设定,对象通过 调⽤这两种发⽅法实现对数据的读写) 在getter/setter⽅法中加⼊属性控制语句(对属性值的合法性进⾏判断) “⾼内聚,低耦合”: 高内聚低耦合,是软件工程中的概念,是判断软...

巴德不说话的博客 299

1.1.4 运用防火墙实现入侵防御

摘要:本文详细介绍了某公司网络拓扑中防火墙FW1的配置过程。主要内容包括:1)通过web界面登录防火墙;2)配置三个接口的IP地址及所属安全区域;3)创建两个入侵防御配置文件(anti_untrust和anti_trust);4)配置安全策略untrust2dmz和trust2dmz,分别允许公网/内网访问WWW服务器;5)保存配置。操作步骤配有详细截图说明,涉及接口配置、安全区域划分、入侵防御策略设定等关键环节,最终实现内外网对服务器Server1的安全访问控制。(149字)

Ljs040411的博客 2130

Redis Lua引擎UAF漏洞CVE-2025-49844深度剖析与复现实践

内存安全是软件系统稳定性的基石,其核心原理在于确保程序对内存的访问始终处于合法、受控的状态。在C/C++等手动管理内存的语言中,Use-After-Free(释放后使用)是一种典型的高危内存安全漏洞,它源于已释放的内存区域仍被程序指针引用,导致数据混乱或程序崩溃。这类漏洞的技术价值在于其往往能突破高级语言的安全边界,直接威胁进程本身,危害等级极高,常见于数据库、浏览器等核心基础设施。在Redis这样的高性能内存数据库中,其内置的Lua脚本引擎为复杂操作提供了强大支持,但同时也引入了沙箱环境下的复杂内存对象生

weixin_42530732的博客 365

类与对象特征总结

1、类与对象的概念 ①类是具体事物的抽象,用来定义一组对象共同具有的状态和行为的模板。而对象是现实世界中个体或事物的抽象表示 ②类是客观存在的,抽象的,概念的东西;对象是具体的,实际的,代表一个事物。例如:车是一个类,汽车,自行车就是他的对象 2、类方法的特点: 3、匿名对象:①.匿名对象是没有被其它对象所引用②使用一次就变成垃圾了,被垃圾回收器收回了 public class Test

marser1234的博客 2152

SQLSTATE58030

在优化一条SQL的时候遇到了执行错误 gtlions =# select t1.telnumber,t2.ua,t2.url,t1.apply_name,t2.apply_name from tb1 t1 gtlions -# left outer join tb2 t2 on t1.sid = t2.ipsid gtlions-# where t1.sum_date=20141128 a

Gtlions Tracker 3659

Java类的三大特性

QQ:35458924

weixin_55371011的博客 2033

【C++】开源:ncurses终端TUI文本界面库

ncurses配置使用(TUI)

DevFrank的博客 3165

opencode : 无法将“opencode”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案

本文主要介绍了opencode : 无法将“opencode”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案,希望能对使用opencode的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 10万+

Java面向对象的三个特征介绍

*面向对象编程主要体现下列三个特性(若有四个的话可以加一个抽象性): 封装:面向对象的编程的核心思想之一是将数据和对数据的操作封装在一起。即从具体的实例中抽取出共同的性质形成一般的概念。 继承:体现了一种先进的编程模式(子类可以继承父类的属性和行为,即继承父类所具有的数据和数据上的操作,同时又可以则改天子类独有的数据和数据上的操作) 多态:有两种意义上的多态。一种是操作名称的多态,即多个操作有相同的名字,但这些操作所接受的消息类型必须不同。另外一种是和继承有关的多态,是指同一个操作被不同类型的对象调用

ll11111lulu的博客 1704

基于RK3588边缘计算平台的人数统计系统设计与实现

针对人数统计场景优化的YOLOv5模型完整的模型转换和部署流程高效的嵌入式推理优化方案低成本、低功耗的部署方案实时性强,满足工业应用需求可扩展性好,适配多种应用场景引入注意力机制,提高小目标检测能力结合多模态信息,增强系统鲁棒性开发可视化管理平台,提升用户体验随着边缘计算和AIoT技术的快速发展,基于深度学习的智能视觉系统必将在更多领域发挥重要作用。本项目为相关应用的开发和部署提供了有价值的参考,为推动人工智能技术的产业化应用做出了积极贡献。

LXY_LOVE36的博客 145

java总结1、类和对象的关系解析、如何创建类,如何创建对象,如何调用属性和方法、 构造方法与一般方法的区别、方法重载与重写的区别、解析面向对象的三大特征

面向对象一、类和对象的关系解析二、如何创建类,如何创建对象,如何调用属性和方法1.创建类2.创建对象3.调用属性和方法三、 构造方法与一般方法的区别1.共同点2.不同点四、方法重载与重写的区别1.方法重载:2.方法重写:3.区别:五、解析面向对象的三大特征1.封装2.继承3.多态 一、类和对象的关系解析 二、如何创建类,如何创建对象,如何调用属性和方法 三、构造方法与一般方法的区别 四、方法重载与...

qq_43189330的博客 1555

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java05-面向对象的对象和类及三大特征

1.面向对象的概念和三大特征 2.类和对象的创建 3.对象在jvm内存中的存放流程

Felix_Peng的博客 784

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java类及类的成员和面向对象的三大特征

面向对象与面向过程 1.两者都是一种思想,面向对象是相对于面向过程而言的。面向过程强调的是功能行为,面向对象,将功能封装进对象,强调具备了功能的对象。 2.面向对象更加强调运用人在日常的思维逻辑中采用的思想方法与原则,例如抽象,分类,继承,聚合,多态等。 Java类及类的成员 Java中用类class来描述事物,可以用java语言来描述万事万物,将万事万物抽象成一个个的class类。 1.属性:对应类中的成员变量 2.行为:对应类中的成员方法 类的语法格式 修饰符 class 类名{ 属性声明; 方法声明

weixin_56038249的博客 220

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JAVA(类和对象,面向对象的三大特征,抽象类和接口)

面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其它类随意访问。要访问该类的的数据,必须通过指定的方式(getter,setter方法)。面向对象编程的基本元素是类,类确定了对象的形式和行为,类是一个模板,用于创建同一类型的对象。类是对具有相同特征或属性,具有相同行为能力的一类事物的描述或称呼。原则是将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。//通过getter方法获取类中的属性。

m0_68928982的博客 210

java一些理论知识,类和对象,static关键词,五大特征

1.类和对象 类:类别,就是用来区分一类食物 电脑学生汽车… 每一类事物都具有:属性和行为 属性:就是该事物具有的特征(特性) 行为:就是该事物可以做的事情 定义类思路:就是定义一个类的属性和行为 public class Student{ private String name; //定义了name属性,并且私有的 private int age; //定义了age属性,并且私有的 public void setName(String na

weixin_55800132的博客 410

bv-study04 Java特征、类和对象、成员变量和局部变量、值传递

本文系统讲解了Java语言的核心特性及面向对象编程基础。主要内容包括:1)Java的9大核心特征(简单性、面向对象、跨平台等);2)类与对象的概念及关系,包括类的定义、对象创建和使用;3)成员变量与局部变量的区别;4)Java参数传递机制,重点剖析了基本类型和引用类型的值传递本质。文章通过代码示例详细说明了值传递与引用传递的区别,并澄清了常见的理解误区,强调Java中所有参数传递都是值传递这一核心规则。全文从理论到实践,为Java初学者提供了清晰的学习框架。

qq_73649088的博客 693

Java对象与Java类

文章目录1.面向对象是什么?2.Java类1.什么是类2.Java类类的结构Java类的格式3.java对象4.类和对象5.类中的变量,方法1.变量分类2.方法分类6.方法重载7.对象与引用基本类型和引用类型的区别:值传递与引用传递8.static关键字概念static属性static方法代码块9.类的加载执行10.包包的概念:包的作用:包(package)的命名规范:访问权限修饰符11.面向对象语言的三大特征1.封装2.多态3.继承12.类于类之间的关系1.关联关系(has-a)2.依赖关系(uses-a

KOOKNUT的博客 4555

06java基础之类与对象(对象特征、封装)

对象的特征: 属性: 对象具有的各种特征。 每个对象的每个属性都拥有特定值 例如:张浩和李明的年龄、姓名不一样 方法: 对象执行的操作 对象: 用来描述客观事物的一个实体 由一组属性和方法构成 根据图理解,如下图所示: 封装: 对象同时具有属性和方法两项特性 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承,不能分割 类: 从对象抽象处“类”, ...

Denial_learn的博客 255

JAVA 类和对象

JAVA是面向对象的设计语言,面向对象的软件开发和相应面向对象问题的求解是当今计算机技术发展的重要成果和趋势之一。从面向对象的角度来看,所有面向对象的程序都是由对象组成的,而类也是面向对象技术中一个非常重要的概念,简单地说:类是同种对象的集合和抽象。 一、官方描述 类:是抽象的概念集合,表示的是一个共性的产物,类中定义的是属性和行为(方法); 对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。 二、通俗解释 或许官方描述...

xinghuowuyin的博客 558

Java第二阶段---09类和对象---第一节 类和对象

语法public class 类名{示例//人类类定义好了,如何填充类中的内容?找出人类的特征:姓名,性别,年龄//姓名//性别//年龄找出人类共同的行为:吃饭、睡觉、工作在类中如何描述人类的行为?在java中,使用方法来描述行为,方法的定义语法如下://[]中内容表示可有可无访问修饰符 返回值类型 方法名([参数列表]){[return 返回值;//特征//姓名//性别//年龄//人行为。

2301_80300263的博客 1099

【Java SE】面向对象、类和对象详解

面向对象: Java是一门纯面向对象的语言(Object Oriented Program,继承OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象与对象之间的交互完成一件事情。类,使用关键字class完成。class 类名称 {属性 (变量);行为 (方法);}范例:定义一个Person类class Person { // 类名要 大驼峰//姓名int age;//年龄public void print() { //方法。

kim的博客 755

第四章.Java类和对象

文章目录1.对象的特征2.对象的类型3.类和对象的关系4.java是面向对象的语言5.如何创建和使用对象6.构造方法与方法重载7.static关键字7.封装(面向对象三大特征之一)8.继承(面向对象三大特征之一)9.多态(面向对象三大特征之一)10.面向对象综合应用 1.对象的特征 属性:对象具有的各种特征 -每个对象的属性都拥有特定值 方法:对象执行的操作 对象:用来描述客观事物的一个实体,由一组属性和方法构成 从对象抽出"类" 抽出对象的共同特征(属性和方法) 类是模子,定义对象将会拥有的特征(

pound127的博客 1048

java的对象和类

java的对象和类

weixin_51884452的博客 1554
上一篇: Java类与对象基础
下一篇: MySQL创建数据库及表和约束语句
与黑夜为伍
博客等级 码龄7年 19粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值