JAVA基础

本文深入探讨Java基础,包括八种数据类型、Object类方法详解、String与StringBuilder的区别、接口与抽象类的关系、继承与组合的对比、重载与重写的区别以及深拷贝与浅拷贝的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA基础

八种数据类型

byte、int、short、long、char、bool、float、double

object类中有哪些方法

getClass()、toString()、hashCode()、wait()、notify()、notifyAll()、equals()、finalize()、clone()

String、StringBuffer、StringBulider

  • String中final修饰的是char[] value和类,不可改变。存储在常量池中。
  • StringBulider中final修饰的是类。继承了AbstractStringBulider类,非线程安全,内部value数组长度可变,初始化长度为16。使用toString方法会重新生成对象,不使用内部的value数组,会重新生成并进行数组copy。
  • StringBuffer是在StringBulider的基础上加了sychronized关键字。使用toString方法会共享StringBuffer对象中的toStringCache属性(char[]),每次StringBuffer对象修改会将该值设为null

接口和抽象类的关系

相同点:

  1. 接口(interface)和抽象类(abstract class)是支持抽象类定义的两种机制。
  2. 都不能被实例化
  3. 接口的实现类和抽象类的子类必须实现了其中的方法才能被实例化。
    不同点:
  4. 接口 接口是公开的,不能有私有的方法和变量。接口中所有的方法都没有方法体。1.8之后可以有default方法
  5. 抽象类是可以拥有私有方法和私有变量,被声明为抽象的方法不能有方法体。子类实现方法必须含有相同或更低的访问级别。子类必须实现所有的抽象方法。
  6. 接口成员变量默认为public static final必须赋初值,不能修改,其他所有成员方法是public、abstract的。抽象类中成员变量默认default,可在子类中冲洗性能定义,可以重新赋值。抽象方法不可以被private、static、synchronized、native等修饰。
  7. 接口可以实现多个,抽象类只能继承一个,接口强调特定功能的实现,抽象类强调所属关系。

继承和组合的区别

继承与组合都是面向对象中代码复用的方式。

  • 继承是面向对象三大基本特征之一,继承就是子类继承父类的特征和行为,使子类对象具有父类的行为,子类强调 --is–a 关系。父类的内部细节对子类可见,其代码属于白盒式的复用。继承关系在编码时已经确定
  • 组合是对现有对象进行拼装组合产生新的具有更复杂功能的对象。组合最主要地体现的是一种整体和部分的思想。组合强调的是 —hava—a。组合中,对象之间的内部细节不可见,其代码属于黑盒式复用。组合关系一般在运行时才确定。
    除非两者的关系是–is–a或者包含对象过多, 否则建议使用组合

重载和重写的区别

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同,参数顺序不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。

  • 重载是多态的表现,是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。
    重载的规则:

    ①必须具有不同的参数列表。(参数类型不同、参数个数不同甚至是参数顺序不同)

    ②可以有不同的访问修饰符。

    ③可以抛出不同的异常。

  • 重写是派生类中重新对基类中的函数重新实现。子类函数的访问修饰权限不能少于父类的。

深拷贝和浅拷贝的区别

  • 深拷贝::对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容
  • 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递,新的引用依然指向旧对象
演示地址:www.yayacity.net 终于放假了,这个4.0用2天时间才搞好,好久没给大家更新了,不好意思啦 *^_^* 这次论坛内核从DVBBS7.0改到了DVBBS7.1 数据库改动较大 所以以前论坛的数据 都丢失了,真是对不起大家啊,不过我知道大家一定喜欢新的论坛的 嘿嘿 下面介绍一下论坛加的插件 1.左右分栏 2.社区明星 3.宠物中心 4.勋章 5.红楼钱庄 6.恋爱结婚 7.论坛发帖语气 8.帖子改变字体大小 9.自助工资 10.版主评定 请假 工资 11.在线翻译 12.法院 13.无限虚拟股市 14.在线聊天 15.开心词典 16.个人网络书签 17.虚拟形象 18.漂流许愿瓶 19.点歌 20.还有几个小游戏: 大家来找茬 在线大富翁 泡泡龙 俄罗斯方块 魂斗罗 反恐精英 还有一些就不说了 :) 首页文件是 index.htm 首页导航栏最下边有音乐播放器 音乐添加在Dv_plus\QQ\mp3list.xml 加 论坛的前台帐号admin 密码 yaya 后台帐号yaya 密码yaya 许愿瓶帐号yaya 密码yaya (在Dv_plus\wish\config.asp中修改) 还有一点就是★安全★问题了 这个很值得强调的 最基本的要把数据库的路径改了 然后把相关的数据调用也改了 数据库的扩展名 最好别用MDB 不然会被下载哦 最好也别用ASP 虽然不可以被下载 但是会被黑 客利用的 其他的相关说明我会在我的站上发布,请留意一下 www.yayacity.net 顺便注意一下最新的论坛情况 对了 还得做个广告 :黑骇协会www.netcpl.com 想学黑客的朋友来玩吧 最适合新手学** 即使你什么都不会也没关系 BY 鸭鸭 2005.7.4
修正说明:1.修改了无法上传头像和后台管理头像的错误2.修改了后台的城市奖罚管理的错误3.修改了虚拟形象不能保存照片的错误4.城市银行管理→银行管理中心→银行奖励管理不可用,不过在后台的奖罚管理 里完全可以完成次操作。5.增加了形象大赛功能给用户的一些建议:建议不在情非得以的情况下,不要转移数据库(出错了我可不负责呀)程序说明:软件大小:29.0 MB 软件语言:简体中文 软件类别:程序源码 / 免费版 / ASP源码 运行环境:ASP 程序安装说明1) 把所有文件解压缩到服务器跟目录 (首页文件为index.asp)2) 默认超级管理员(前台用户名:admin 密码:yaya 后台用户名:yaya 密码:yaya) 登录论坛,修改论坛信息3) 程序主数据库路径: data/yayacity.asp 你可以修改数据库名并在conn.asp 文件中做相应修改。 (不修改也可以,已经做过防盗处理)程序演示:http://www.yayacity.tk程序主页: www.yayanet.tk 作者:鸭鸭(于洋) QQ:77619637程序内容列表: 城市赌庄 ~~澡堂 ~~餐厅 ~~房产 ~~门派 ~~警局 ~~超市 ~~银行 ~~法院 ~~论坛 五子棋 大家来找茬 大富翁 游戏大厅(棋类游戏) 新纪游侠 星际争霸 FLASH游戏(60个) 泡泡龙 拼图游戏 广告公司 自助工资 足球博采 钓鱼赚钱 赛马~~ 许愿瓶 宠物中心 形象设计 形象大赛 结婚礼堂 我的家园 点歌频道 聊天室 版主申请 * VIP申请 版主评定插件说明; 插件管理一般都在后台或者前台有连接 对ASP不太了解的请不要随便修改或删除插件,否则后果自负皮肤说明: 请不要随意修改后台《风格界面模板总管理》附加说明: 本城市基于DVBBS 7.0 SP2,版权由DVBBS和YAYACITY所有。 鸭鸭(于洋) 2004.8.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值