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

Java类和对象(下)

Java类和对象 下

    • 对象的构造及初始化对象
      • 1.如何初始化对象
      • 2.构造方法
        • 概念
        • 特性
      • 3.默认初始化
      • 4.就地初始化
    • 封装
      • 1.封装的概念
      • 2.访问限定符
      • 3.封装拓展之包
        • 1.概念
        • 2.导入包中的类
        • 3.自定义包
        • 4.包的访问权限控制
        • 5.常见的包
    • static成员
      • 1.static修饰的成员变量
      • 2.static修饰成员方法
      • 3.static成员变量初始化
        • 1.就地初始化
        • 2.静态代码块
    • 代码块
      • 1.代码块的概念及分类
      • 2.普通代码块
      • 3.构造代码块
      • 4.静态代码块

对象的构造及初始化对象

1.如何初始化对象

在java方法内定义一个局部变量时,必须要初始化,否则会编译失败。

public class Test{public static void main(String[] args) {int a;System.out.println(a);}
}

在这里插入图片描述

要让以上代码通过编译,只需在编译之前给a设置一个初始值即可。但如果是对象:

public class Date {public int year;public int month;public int day;public Date(){System.out.println("1 success!");}public Date(int year, int month, int day){this.year = year;this.month = month;this.day = day;System.out.println("2 success!");}public void printDate(){System.out.println(year + "-" + month + "-" + day);}public static void main(String[] args) {Date d = new Date();d.printDate();Date e = new Date(2025,8,28);e.printDate();}
}

在这里插入图片描述

可以正常通过编译。可以发现第一次构造的对象的成员变量没有初始化,但是并没有报错,因为java编译器会赋予其默认的初始值:

public class DefaultValueExample {byte b;short s;int i;long l;float f;double d;char c;boolean bool;String str;int[] arr;public static void main(String[] args) {DefaultValueExample example = new DefaultValueExample();System.out.println("byte: " + example.b);       // 输出 0System.out.println("short: " + example.s);      // 输出 0System.out.println("int: " + example.i);        // 输出 0System.out.println("long: " + example.l);       // 输出 0System.out.println("float: " + example.f);      // 输出 0.0System.out.println("double: " + example.d);     // 输出 0.0System.out.println("char: " + example.c);       // 输出 空字符(不可见)System.out.println("boolean: " 
http://www.xdnf.cn/news/1426159.html

相关文章:

  • 二维元胞自动机:从生命游戏到自复制系统的计算宇宙
  • pprint:美观打印数据结构
  • 基于单片机十六路抢答器系统Proteus仿真(含全部资料)
  • Qt::Q_INIT_RESOURCE用法
  • 前端性能优化实战:如何高效管理和加载图片、字体、脚本资源
  • 在 Qt 中:QString 好,还是 std::string 好?
  • 零售行业的 AI 革命:从用户画像到智能供应链,如何让 “精准营销” 不再是口号?
  • 响应式编程框架Reactor【9】
  • 2.充分条件与必要条件
  • 基本问题解决--舵机
  • 手把手教你搭建 UDP 多人聊天室(附完整源码)
  • 10.《基础知识探秘:DHCP地址分配员》
  • 打工人日报#20250901
  • nCode 后处理常见问题汇总
  • C++精选面试题集合(100份大厂面经提取的200+道真题)
  • 实现自己的AI视频监控系统-第三章-信息的推送与共享2
  • 【自记录】Ubuntu20.04下Python自编译
  • docker-nacos-v3
  • 在飞牛构建私有化协作环境GodoOS:集成文档、即时通讯、白板与思维导图!
  • 用只能以关键字指定和只能按位置传入的参数来设计清晰的接口(Effective Python 第25条)
  • Web知识的总结
  • Linux并发与竞争实验
  • Linux 下 MySQL 数据库定时备份脚本与 Crontab 配置
  • RK3588部署yolov8目标检测
  • Redis 的 SDS:像橡皮筋笔记本一样好用的字符串
  • 区块链存证中的隐私保护
  • C++ 用于运行时类型识别的typeinfo库使用指南
  • 基于STICS模型的黄土高原苹果园生态
  • 众擎机器人开源代码解读
  • 从物理模拟器和世界模型中学习具身智能