侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

java编程思想 -- 数据的初始化

Java  /  管理员 发布于 5年前   326

1.使用构造器确保数据初始化

    

/* *在ReckInitDemo类中创建Reck的对象  */public class ReckInitDemo {public static void main(String[] args) {//创建Reck对象new Reck();}}//内部类class Reck {// 初始化数据public Reck() {// 确保对象在被创建时有数据System.out.println("数据被初始化");}}

 

 运行结果:    数据被初始化 

 

 

 

当执行new Reck();时,将会为对象分配存储空间,并调用相应的构造器,保证了操作的对象是已经被初始化了的

 

 

2,方法的重载;

 

 

package com.wj.init;/** *  * @author Administrator *调用重载的类 */public class OverrideDemo {public static void main(String[] args) {new OverrideInit();//调用无参构造方法new OverrideInit(5);//调用int类型的构造方法}}//内部类class OverrideInit {// 构造方法:// 1,访问控制必须是public// 2,构造方法的名称和类的名称完全一样// 3,不能有相同的两个构造方法参数和名称是完全一样的int i;// 无参构造方法public OverrideInit() {System.out.println("被调用了");}// int类的构造方法public OverrideInit(int i) {i++;System.out.println(i);}}

 

 运行结果:

 

     被调用了

     6  

 

当 new OverrideInit();对象是可以不传参数也可以传参数,,这就是方法的重载

 

 

3,默认构造器的简单使用;

     在2中我们已经使用了 new OverrideInit();,这就是一个简单的默认构造器

package com.wj.init;/** *  * @author Administrator 默认构造器的使用 系统类 的默认构造器; 自定义类默认器的使用 */public class DefaultDemo {// 系统会默认添加DefaultDemo的构造方法,它的作用是创建一个默认// 的对象,如果我们创建的类中额米有构造器,系统会默认的帮我们创建一个默认的构造器// public DefaultDemo() {// }public static void main(String[] args) {// 创建new DefaultDemo();// new// DefaultDemo();创建了一个对象,//并调用其默认的构造方法-如果我们没有定义这个构造器,//没有这个构造器我们就不能创建对象,也就不能去调用方法,//但是如果定义了一个(无论是否有参数),编译器都不会自动创建默认的构造器System.out.println("成功创建了");}}

 

 

自定义构造器:

public class DefaultDemo {//自定义一个有参数构造器,系统不会再创建默认的构造器public DefaultDemo(int i) { }public static void main(String[] args) {// 创建new DefaultDemo();// new// DefaultDemo();创建了一个对象,//并调用其默认的构造方法-如果我们没有定义这个构造器,//没有这个构造器我们就不能创建对象,也就不能去调用方法,//但是如果定义了一个(无论是否有参数),编译器都会自动创建默认的构造器System.out.println("成功创建了");}}

 

无法编译:构造器无法匹配

 

 

4,this关键字

    this区别当前的对象

   

/* * this的简单使用 */public class ThisDemo {  private static int i;  //使用this区分当前i的区别  android和oracle都有相关的使用public ThisDemo(int i){this.i=i;}public static void main(String[] args) {new ThisDemo(8);System.out.println(i);}}

 

 

5,静态代码块初始化,静态数据初始化,

/** *  * @author Administrator Static代码块的初始化,Static数据初始化 */public class StaticDemo {// 静态属性,静态代码块,代码块的执行顺序// 静态属性-->静态代码块-->代码块static int i = 0;static {// 静态代码块,适合数据的初始化System.out.println("A" + i);i = 10;}{// 初始化非静态实例System.out.println("B" + i);i = 5;Mug mug = new Mug(i);}public static void main(String[] args) {StaticDemo demo = new StaticDemo();demo.f();}// 打印i的方法public void f() {System.out.println(i);}}// 内部类class Mug {private int i;public Mug(int i) {this.i = i;}}

 

 

6,可变数组参数

package com.wj.init;/** *  * @author Administrator 可变参数列表 */public class VarArrayList {   //创建可变数组static void point(Object... s) {for (Object i : s) {      System.out.println(i);}}public static void main(String[] args) {//类名.可变数组VarArrayList.point("java");//VarArrayList.point(1);int[] a={1,2,3,4};VarArrayList.point(a);}}

 

 运行结果:

java

1

 

[I@64ea66

 

可变数组可以传入任意类型的,也可以是空的,主要是利用了java中的一切类都是继承的Object

 



  • 上一条:
    ip地址与整数的相互转换(javascript)
    下一条:
    java编程思想 -- 访问控制权限
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在java中实现的脱敏工具类代码示例分享(0个评论)
    • zookeeper安装流程步骤(0个评论)
    • 在java中你背的“八股文”可能已经过时了(2个评论)
    • 在php8.0+版本中使用属性来增加值代码示例(3个评论)
    • java 正则表达式基础,实例学习资料收集大全 原创(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2018-03
    • 2020-03
    • 2023-05
    • 2023-11
    • 2024-01
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客