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

wap购物网站源码门户网站建设基础术语

wap购物网站源码,门户网站建设基础术语,景区门户网站建设方案,湛江市网站建设往期回顾: 【前端学java】JAVA开发的依赖安装与环境配置 (0)【前端学 java】java的基础语法(1)【前端学java】JAVA中的packge与import(2)【前端学java】面向对象编程基础-类的使用 &#xff08…

往期回顾:

  • 【前端学java】JAVA开发的依赖安装与环境配置 (0)
  • 【前端学 java】java的基础语法(1)
  • 【前端学java】JAVA中的packge与import(2)
  • 【前端学java】面向对象编程基础-类的使用 (3)
  • 【前端学java】类中的访问权限详解,通俗易懂(4)
  • 【前端学java】java中final修饰符(5)
  • 【前端学java】全网最通俗易懂的JAVA抽象概念(6)
  • 【前端学java】Java中的接口和枚举概念(7)

引言-前端原型Object回顾

在前端中,每一个对象都继承了原型链顶层Object原型对象上的所有方法,如hasOwnProperty()方法。

let person = {name:'shixiaoshi',
}
if(!person.hasOwnProperty('age')){person.age = 18
}

上述代码中,person对象的hasOwnProperty方法继承自其顶层对象Objec原型对象上的方法。

在Java中,Object是所有的根类,这一点和前端的概念也基本是一致的。

普通类的隐式继承

我们先看一段基础代码

上述代码中,我们定义了一个Person类,并在主类中打印其name属性的值。

在Java中,所有类都隐式地继承自Object类,因此,上述代码其实可以这么写:

package 类与对象;public class Object_01 {public static void main(String[] args) {Person obj = new Person();System.out.println(obj.name);}
}class Person extends Object{String name = "shixiaoshi";
}

基于这种规则,我们还可以在Object_01类中引用Person类时,使用Object来指明其类型。如

package 类与对象;public class Object_01 {public static void main(String[] args) {// 使用Object指明 obj类型Object obj = new Person();}
}class Person extends Object{String name = "shixiaoshi";
}

但注意,使用 Object指明obj类型时,obj继承的是Object上的所有方法,Person类上的方法或属性会丢失

如图,我们使用Object约束obj时,编译器已经无法识别其name属性,给出的提示都是Object类定义了一些通用的方法,如toString()方法等。

Object类的来源

我们在编译器里单击Object, 可以定位到Object类定义的位置

如图,我们可以知道Object定义在java.lang包里,是这个包里定义的类

Object类的通用方法

Object类定义了一些通用的方法,这些方法在所有的Java对象中都可以使用。

以下是Object类中常用的方法(不用记,了解有这些东西就行

  1. toString() :返回对象的字符串表示形式。默认情况下,该方法返回对象的类名和哈希码的十六进制表示。
  2. equals(Object obj) :用于判断两个对象是否相等。默认情况下,equals() 方法比较的是对象的引用是否相同(即是否指向同一个内存地址)。在自定义类中,可以重写equals() 方法来定义对象的相等性比较规则。
  3. hashCode() :返回对象的哈希码。哈希码用于在哈希表等数据结构中快速定位对象。
  4. getClass() :返回对象的运行时类(Runtime Class),即对象所属的类的Class对象。
  5. notify()notifyAll() :用于在多线程编程中实现线程间的通信。这两个方法用于唤醒等待中的线程。
  6. wait() :用于在多线程编程中实现线程的等待。调用该方法会使当前线程进入等待状态,直到其他线程调用notify()notifyAll() 方法唤醒它。
  7. clone() :用于创建并返回对象的副本。默认情况下,clone() 方法执行的是浅拷贝。如果需要实现深拷贝,需要在自定义类中重写该方法。
  8. finalize() :用于垃圾回收器在回收对象之前执行一些清理操作。但由于这个方法在Java 9中被废弃,不推荐使用。

Object类是Java中所有类的祖先,它提供了一些通用的方法,可以在所有Java对象中使用。但在实际开发中,我们通常不直接使用Object类,而是使用它的子类,因为它的子类会提供更具体的功能和行为。

接下来,我们学习一些简单的方法,再加深下对Object的理解

toString

我们先来看一段代码

上述代码中,我们将Obj通过toString()方法转换成了字符,并打印出了 其结果。

现在,我们简单介绍下toString()方法的作用:

toString()方法可以将对象转换成字符串,其打印的地址就是对象的默认内存地址

内存地址的概念和前端中是一样的,这里涉及到深浅拷贝,值引用和对象引用等概念,这些概念不熟悉的同学快下去复习吧

为了更直观的理解打印的内容,我们可以将这个方法进行重写,我们先准备如下代码

package 类与对象;public class Object_01 {public static void main(String[] args) {// 使用Object指明 obj类型Object obj = new Person();System.out.println(obj.toString());}
}class Person {}

鼠标放到Person类里面,点击ctrl + o ,可以快速改写代码

上述代码的运行结果自然是打印出了我们自定义的内容

注意:“My name is “+name+”” 中的 “+name+” 是java中字符拼接的方法

hashCode

这个方法用于返回对象的内存地址(和toString方法效果一致)

package 类与对象;public class Object_01 {public static void main(String[] args) {// 使用Object指明 obj类型Object obj = new Person();// toString 方法System.out.println("tosrting方法" + obj.toString());// hashCode 方法System.out.println("hashCode方法" + obj.hashCode());}
}
class Person { }

运行结果

可能你会有疑问,74a14482的内存地址和1956725890的内存地址不一致啊,实际上,一个是16进制,一个是10进制的显示而已

equals

用于判断两个对象是否相等。默认情况下,equals() 方法比较的是对象的引用是否相同(即是否指向同一个内存地址)。

我们先看一个简单例子

package 类与对象;public class Object_01 {public static void main(String[] args) {// 使用Object指明 obj类型Object obj = new Person();// equals 方法System.out.println(obj.equals(new Person()));    // 打印结果是false}
}
class Person { }

这个打印结果告诉我们,obj 和new Person()不是一模一样的东西。

行了,我们就探究这么多,后面通过其他demo继续扩充我们的知识体系!!

http://www.yayakq.cn/news/667757/

相关文章:

  • 打开网站要密码重庆建设注册执业中心网站
  • 如何找外贸网站建设公司做公司官网需要多少钱
  • 如何看那个网站是那个公司做的做网站学习什么
  • 拟定网站优化方案网站开发设备费用计入什么科目
  • 成都个人网站邢台建网站
  • 广州建设网站制作建站模板
  • 做网站做什么主题网站开发文本模版
  • 外贸网站平台是不是很难做辽宁建设厅
  • 五一网站个人空间自己网站制作的详细教程
  • 网站前端开发培训西安鞍山公司网站建设
  • 网站建设相关工作总结住房各城乡建设网站
  • 电子商务网站建设情况wordpress 八爪鱼
  • 企业名称查询网站wordpress+改邮箱
  • 手机网站建设 上海百度做网站电话多少钱
  • 企业网站做seo的优势做平面的素材网站
  • 河北省建设厅网站官网永康企业网站建设公司
  • 网站安全检测网站网络建设与管理专业好就业吗
  • 做盗号网站网络优化工具
  • 下载网站的表格要钱如何做360度搜索建站网
  • 安徽网站优化哪里有wordpress分类教程
  • 自己做视频网站如何接广告网站设计会计分录怎么做
  • 网站ps照片怎么做郴州排名优化
  • 网站用什么布局湛江网站制作专业
  • wow313做宏的网站seo海外推广
  • 株洲网站建设方案咨询设计师网名怎么取
  • 简述电子商务网站的开发流程网络营销对企业的作用
  • 哪个网站做淘宝客为什么企业要建设网站
  • 做网站的参考书网站开发流程有哪些
  • 专业 网站设计建设一个门户网站
  • 温州科技网站建设创研科技做网站怎么样