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

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

Java  /  管理员 发布于 3年前   173

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个评论)
    • java正则表达式彻底研究(0个评论)
    • java正则表达式验证函数(0个评论)
    • MVC、MVP和MVVM分别是什么(0个评论)
    • java 单例模式(饿汉模式与懒汉模式)(0个评论)
    • 近期文章
    • 如何优雅处理async await错误推荐:await-to-js库(0个评论)
    • lodash工具库(0个评论)
    • 在Laravel项目中使用中间件方式统计用户在线时长功能代码示例(0个评论)
    • 在Laravel中构建业务流程模型(0个评论)
    • windows系统中安装FFMpeg及在phpstudy环境php7.3 + php-ffmpeg扩展的使用流程步骤(0个评论)
    • 在go语言中对浮点的数组、切片(slice)进行正向排序和反向排序(0个评论)
    • 在go语言中对整数数组、切片(slice)进行排序和反向排序(0个评论)
    • 在go语言中对字符串数组、切片(slice)进行排序和反向排序(0个评论)
    • 最新国内免注册ChatGPT体验站_ChatGPT镜像站访问链接地址2023/3/28持续更新(0个评论)
    • 在Laravel项目中的实现无密码认证之:发送邮箱链接授权(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2016-11
    • 2018-03
    • 2020-03
    Top

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

    侯体宗的博客