Java被忽略的基本知识(二)

时间:2021-09-15 05:04:32

14、字符串的内容不可改变,不能修改某个下标的字符值。字符串之间的“+”连接是通过“断开——再连接”,修改变量的栈中的引用地址指向。

15、对于数组、类(类的属性中可以有String)的实例化对象作为参数时,方法将其改变后,原来的主方法的值也会改变。

而对于String类变量为参数时,方法中修改其值,原来的String值不会改变,因为String类型值的改变是引用堆地址的指向不同,原来的堆内容还存在。

16、this关键字:表示类中的属性、调用方法或构造方法(放在第一行),表示当前对象。

17、this访问本类中的属性、本类中的方法,如果本类中没有,则调用父类中属性或方法。

18、Java中常用的内存区域:

a 栈内存空间:保存所在的对象名称(或是说保存了堆内存的地址)

b 堆内存空间:保存每个对象的实际内容

c 全局数据区:保存static类型的属性

d全局代码: 保存所有的方法定义

19、非static声明的方法可以调用static声明的属性或方法,但static声明的方法只能调用static声明的方法或属性。

20、System.exit(1)表示退出系统,exit()方法中添加一个非0的数字表示退出系统。

21、代码块:用{}括起来的一段代码,可以方法的访问本类中的属性(包括私有)或方法。

普通代码块:直接在方法或是语句中定义的代码块

构造代码块:直接在类中的代码块,构造块先于构造方法执行,可以执行多次。

静态代码块:使用static声明的代码块,只执行一次。

同步代码块:使用synchronized声明的代码块,用于多线程的同步操作。

22、内部类:在一个类的内部像定义变量似的定义一个类,虽然其破坏了类的基本结构,但可以直接访问外部类的属性(包括私有)、方法。

23、super访问父类中的属性、方法,若调用父类的构造方法,必须放在子类构造方法的第一行。

24、final声明的类不能有子类,声明的方法不能覆盖,声明的变量不能修改。

25、抽象类必须包含一个抽象方法,也可以有一般的方法、属性。必须被子类继承,所以一个抽象类,不能使用final关键字声明。

26、接口:由全局常量  public static final 类型 名称;

抽象方法     public  abstract 返回类型  方法名称 (参数);

不能有一般的方法、变量。

27、一个抽象类可以实现多个接口,一个接口可以继承多个接口,一个接口不能继承抽象类。

28、多态性:方法的覆写、方法的重载;对象多态性:向上转型  父类 父类对象=子类实例(调用的方法、属性,若子类中有会被子类的方法、属性覆盖);向下转型   子类 子类对象=(子类)父类实例;

29、instanceof判断一个对象是否为一个类的实例: 对象  instanceof 类。通过子类实例化的对象同是是父类的实例;通过父类实例化的对象,不再是其子类的实例。

30、在类的设计中永远不要继承一个已经实现好的类,要面向抽象层编程——依赖倒转原则。

31、若一个类的设计时接口与抽象类都可以实现,优先选择接口。因为避免单继承的局限性,少用继承多用关联(合成复用原则)。

32、内部类扩展: 抽象类中可以定义多个接口或抽象类,接口中可以定义多个抽象类或接口。

33、Object类提供的equals方法默认比较的是地址,自己创建类中可以比较内容。

34、Object类可以接受任意引用类型(包括接口、数组等)的对象。

Java被忽略的基本知识(二)的更多相关文章

  1. Java被忽略的基本知识(一)

    工作一段时间发现Java的基本知识不是一般的重要,基本知识好项目理解快.特此看java的基本知识书本<Java项目实战开发>李兴华版,看完此书准备再看一下java更深一点的书--<J ...

  2. Java被忽略的基本知识(四)

    Java IO(不是一般的重要) 54.IO中的流:字节流(InputStream.OutputStream).字符流(Reader.Writer).转换流(InputStreamReader.Out ...

  3. Java被忽略的基本知识(三)

    35.e.printStackTrace();输出异常信息,也可以使用System.out.println(e); 36.范围小的异常,要放在范围大的异常前面. 37.断言:判断某个结果的正确性,正确 ...

  4. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

  5. &lbrace;Python之线程&rcub; 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Threading模块 九 锁 十 信号量 十一 事件Event 十二 条件Condition(了解) 十三 定时器

    Python之线程 线程 本节目录 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Thr ...

  6. &lbrack;Java聊天室server&rsqb;实战之二 监听类

    前言 学习不论什么一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列尽管涉及的是socket相关的知识,但学习之前,更 ...

  7. window7使用svn(svn系列 客户端 知识二总结)

     ♣eclipse插件subclipse  ♣TortoiseSVN  ♣svn操作  ♣注意事项 使用svn可以在eclipse直接装subclipse或者在windows使用TortoiseSVN ...

  8. java微信开发API解析(二)-获取消息和回复消息

    java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...

  9. 通俗化理解Spring3 IoC的原理和主要组件(spring系列知识二总结)

    ♣什么是IoC? ♣通俗化理解IoC原理 ♣IoC好处 ♣工厂模式 ♣IoC的主要组件 ♣IoC的应用实例 ♣附:实例代码 1.什么是IoC(控制反转)? Spring3框架的核心是实现控制反转(Io ...

随机推荐

  1. LeetCode题解——Roman to Integer

    题目: 将罗马数字转换为整数. 解法: 可以参考上一篇数字转换为罗马数字的规则. 代码: class Solution { public: int sym2int(char sym) //罗马数字字符 ...

  2. 【官方文档】Nginx模块Nginx-Rtmp-Module学习笔记(三)流式播放Live HLS视频

    源码地址:https://github.com/Tinywan/PHP_Experience HTTP Live Streaming(HLS)是由Apple Inc.实施的非常强大的流视频协议.HLS ...

  3. Struts&plus;Spring&plus;Hibernate、MVC、HTML、JSP

    javaWeb应用 JavaWeb使用的技术,比如SSH(Struts.Spring.Hibernate).MVC.HTML.JSP等等技术,利用这些技术开发的Web应用在*项目中非常受欢迎. 先说 ...

  4. linux 安装python3

    下载python安装包 https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz (可选则自己想要的版本) 下载好之后上传到linux系统,开始 ...

  5. 使用Node&period;js&plus;Hexo&plus;Github搭建个人博客(续)

    一.写在前面 在我的上一篇博客<使用Nodejs+Hexo+Github搭建个人博客>中,已经介绍了如何使用 Hexo 在 Github Pages 上搭建一个简单的个人博客.该篇博文将在 ...

  6. U3D学习13-数据存储

    1.SQLLite 要注意Plguins的三个dll资源 2.利用ScriptableObject将数据存储为资源(小规模数据) using UnityEngine; using System.Col ...

  7. HDU4280&lpar;KB11-G 最大流&rpar;

    Island Transport Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  8. JQuery中button提交表单报TypeError&colon; elem&lbrack;type&rsqb; is not a function jquery

    错误: TypeError: elem[type] is not a function jquery 解决: 出现这种现象的原因是,提交的表单中,有标签的name,有以submit命名的 name中不 ...

  9. AndroidStudio中logcat不输出信息

    2017年11月27日,记住这个日子.今天第一次感觉到被批评了,由于自己技术知识储备不足导致今天的外出工作等于浪费时间.正式因为这个logcat不输出信息的问题,前几回不输出信息了我就从新启动了开发工 ...

  10. Linux高端内存映射&lpar;上&rpar;【转】

    转自:http://blog.csdn.net/vanbreaker/article/details/7579941 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 高端内 ...