当前位置:首页 > 技术 > 正文内容

2022.9.30 Java第四次课后总结

Lotus2022-10-06 18:15技术

1.
public class BoxAndUnbox {

/**
* @param args
*/
public static void main(String[] args) {
int value=100;

Integer obj=value; //装箱

int result=obj*2; //拆箱

}

}

创建了一个value 并定义了相关变量

public class ClassAndObjectTest
{

public static void main(String[] args)
{
//创建类的实例,定义一个对象变量引用这一实例
MyClass obj = new MyClass();
//通过对象变量调用类的公有方法
obj.myMethod("Hello");
//给属性赋值
obj.setValue(100);
//输出属性的当前值
System.out.println(obj.getValue());
//直接访问对象公有字段
obj.Information = "Information";
//输出对象公有字段的当前值
System.out.println(obj.Information);
}
}

/**
* 自定义Java类的示例
*/
class MyClass
{
// 公有字段
public String Information = "";

// 自定义公有Java实例方法
public void myMethod(String argu)
{
System.out.println(argu);
}

// 定义属性:私有字段+get方法+set方法
private int value;
public int getValue()
{
return value;
}
public void setValue(int value)
{
this.value = value;
}

}


public class InitializeBlockDemo {

/**
* @param args
*/
public static void main(String[] args) {

InitializeBlockClass obj=new InitializeBlockClass();
System.out.println(obj.field);

obj=new InitializeBlockClass(300);
System.out.println(obj.field);
}

}

class InitializeBlockClass{
//下面这句在初始化块之前与之后,会影响到field字段的初始值
//public int field=100;

{
field=200;
}
public int field=100;
public InitializeBlockClass(int value){
this.field=value;
}
public InitializeBlockClass(){

}
}

动手动脑部分

package p;

import java.util.Scanner;

public class StaticMethod {

class Root {
static {
System.out.println("Root的静态初始化块");
}

{
System.out.println("Root的普通初始化块");
}

public Root() {
System.out.println("Root的无参数的构造器");
}
}
class Mid extends Root {
static {
System.out.println("Mid的静态初始化块");
}

{
System.out.println("Mid的普通初始化块");
}

public Mid() {
System.out.println("Mid的无参数的构造器");
}

public Mid(String msg) {
//通过this调用同一类中重载的构造器
this();
System.out.println("Mid的带参数构造器,其参数值:" + msg);
}
}
static class Leaf extends Mid {
static {
System.out.println("Leaf的静态初始化块");
}

{
System.out.println("Leaf的普通初始化块");
}

public Leaf() {
//通过super调用父类中有一个字符串参数的构造器
super("Java初始化顺序演示");
System.out.println("执行Leaf的构造器");
}

}

public class TestStaticInitializeBlock {
public static void main(String[] args) {
new Leaf();


}
}
}
运行结果如下

 

 

 

类的静态方法只能访问类的静态成员

 

 

 

类的静态方法是不能直接访问实例的成员的,它只能访问同类的静态成员。访问实例的成员的话,可以参考一下这个方法,那就是把静态方法的参数设置为类的实例,这样通过参数传递的方式就可以访问实例的成员了,例子如下:

 package trr;
 2 
 3 public class trr {
 4 
 5     public static void main(String[] args) {
 6     x w;
 7     w=new x();
 8     x.show(w);//直接用类名调用静态方法
 9     }
10 
11 }
12  class x
13 {
14     
15 int num=10;
16 static void show(x n) //参数设置为类的实例
17 
18 
19 {
20     System.out.println(n.num);    //访问实例的成员
21 }
22 
23 }

 

装箱过程是通过调用包装器的valueOf方法实现的
拆箱过程是通过调用包装器的xxxValue方法实现的(xxx表示对应的基本数据类型)
Byte、Short、Integer、Long这几个类的valueOf方法实现类似的。所以在[-128,127]区间内,==比较的时候,值总是相等的(指向的是同一对象),在这个区间外是不等的。
而Float和Double则不相等, Boolean的值总是相等的
equals():比较两个对象的值(内容)是否相同
”==“:比较两个对象的引用(内存地址)是否相同,也用来比较两个基础数据类型的变量值是否相等。

 

扫描二维码推送至手机访问。

版权声明:本文来源于网络,仅供学习,如侵权请联系站长删除。

本文链接:https://news.layui.org.cn/post/104.html

分享给朋友:

“2022.9.30 Java第四次课后总结” 的相关文章

WinDbg Preview安装以及符号表配置

1、安装WinDbgPreview 在Microsoft Store直接搜索windbg就可以下载。 2、配置符号服务器 2.1 符号 符号是方便调试程序的文件,通常是pdb文件。一个模块(可执行程序,动态链接库)对应一个pdb文件。不同的windows版本中的文件不同(比如说kernel32),版本不同pdb符号文件也不同,因此要从微软提供的符号服务器获取本机对应的符号。 但是要在本地建立一个文...

初始多线程

初始多线程 一、基本概念 1.1 应用程序 以 Windows 为例,一个拓展名为 .exe 的文件就是一个应用程序,应用程序是能够双击运行的。 1.2 进程 应用程序运行起来就创建了一个进程,即进程就是运行起来的应用程序;如电脑上运行的 Edge、Typora、PotPlayer 等。 进程的特点: 一个进程至少包含一个线程(主线程,main)。 可以包含多个线程(主线程+若干子线程)。 所...

记Windows的一个存在了十多年的bug

bug Windows有一个bug,持续了十多年,从Windows Visita开始(2007年),一直存在,直到Windows11(2021年)才修复(其实也不叫修复,后面我再具体说),而Windows10还能重现这个bug,即便把系统更新到最新(2022年10月5日)。 这个bug用语言来描述就是:使用Windows Explorer(资源管理器)的树形结构初次展开目录时,滚动条会发生不正确...

Docker入门学习

1.运行第一个docker容器 docker run -i -t ubuntu /bin/bash 参数说明: -i, --interactive=false, 打开STDIN,用于控制台交互-t, --tty=false, 分配tty设备,该可以支持终端登录,默认为false-d, --detach=false, 指定容器运行于前台还是后台,默认为false 首先,docker run -it...

【微信小程序】认识小程序页面

????系列专栏:微信小程序 ????欢迎关注????点赞????收藏⭐留言???? ✅个人主页:​​hacker_demo的51CTO博客​​ ????个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生,我自己书写,余生很长,请多关照,我的人生,敬请期待???????????? 新建小程序页面 只需要在app.json->...

深入浅出DevOps:初识Pipline流水线任务

???? 作者: 俗世游子【谢先生】。 8年开发3年架构。专注于Java、云原生、大数据等领域技术。 ???? 成就: 从CRUD入行,负责过亿级流量架构的设计和落地,解决了千万级数据治理问题。 ???? 同名社区:​​51CTO​​​、 ​​github​​​、掘金​、​​gitee​​​。 ???? 清单: ​​​goku-framework​​​、​​【更新中】享阅读II​​ De...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。