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

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

Java  /  管理员 发布于 2年前   109

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
    • 框架(架构)
    • 前端
    • TP(3/5)
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • java 正则表达式基础,实例学习资料收集大全 原创(0个评论)
    • java正则表达式彻底研究(0个评论)
    • java正则表达式验证函数(0个评论)
    • MVC、MVP和MVVM分别是什么(0个评论)
    • java 单例模式(饿汉模式与懒汉模式)(0个评论)
    • 近期文章
    • php语言中检测及转换文件字符编码函数介绍(0个评论)
    • laravel中轻量化的钱包实现方案:Laravel Wallet(0个评论)
    • mysql性能优化之8种常见SQL错误用法(0个评论)
    • Laravel 9.13版本发布(0个评论)
    • beego+GeoLite2免费数据库获取ip地址经纬度等定位归属信息(0个评论)
    • redis安全配置之修改端口、添加密码流程步骤及启动使用(0个评论)
    • PHP + Memcache实现简单的统计当前在线人数功能(0个评论)
    • Thinkphp5.1框架中实现Session+Redis会话共享流程步骤(0个评论)
    • go语言中使用Signbit()函数判断一个整数是正数或负数(0个评论)
    • 删库跑路之一链家程序员删除公司9TB数据被判7年,望各大码农警之!(0个评论)
    • 近期评论
    • 阿凡达123 在

      golang 怎么做热更新中评论 也可以看看这个:https://github.com/edwingeng/hot..
    • 博主 在

      hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 @路过的靓仔:cdn静态资源被墙,已修复..
    • GGGGGGGGG 在

      layui框架常用输入框介绍中评论 写的很好解决问题..
    • 路过的靓仔 在

      hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 剩下好多 wait 状态的..
    • 激光豆芽 在

      为什么你不能安逸?国内996为什么没有国外955香?中评论 国内现在无意义的内卷太多了..
    • 2016-11
    • 2018-03
    • 2020-03
    Top

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

    侯体宗的博客