当前位置: 首页 > 编程日记 > 正文

黑马程序员—易混淆的知识

------- android培训、java培训、期待与您交流! ----------

String和StringBuffer类区别
1.String 是定长的
例如:String s1="abc";s1="egf";
StringBuffer类:是变成字符串,因为它具有(buffer)缓冲区:StringBuffer类表示的字符串,其内容与长度随时动态可变,
可直接对串自身进行插入、删除、修改、替换等操作,且操作结果影响串对象本身。
二、创建StringBuffer类型字符串的方法
1.用构造方法,不能用类似StringBuffer s1="abc";这种方法。
a.StringBuffer(): 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。
b.StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。初始容量大小为字符串长度+16
c.StringBuffer(int capacity)构造一个不带字符,但具有指定初始容量的字符串缓冲区
2.常用的方法
(1)append()系列:将参数中的字符串表示形式追加到序列中去。
(2)setLength(): 设置字符序列的长度,如果 newLength 参数大于或等于当前长度,则将追加有效的 null 字符
(3)insert()系列:   将参数中的字符串表示形式插入序列中其中:offset指欲插入字符的起始位置
(4)delete(int start, int end)  移除此序列的子字符串中的字符。
(5)reverse() 将此字符序列用其反转形式取代。
3.类的容量和字符长度
(1)capacity() 返回当前容量。
(2)length()  返回长度(字符数)。
(3)ensureCapacity:确保容量至少等于指定的最小值,后期动态调整容量

抽象和接口

相似部分:
1.对于方法抽象方法只有方法声明没有方法实现
2.都不能创建实例
不同之处
1.对于成员变量:接口中的都是public static fanal (静态常量)型,
但是抽象类并没有规定。
2.接口里只有抽象方法,但是抽象类中可以定义普通方法并且
普通方法有具体实现
3.接口里成员是public的,不能定义成其它封装类型(如:private,protected),
但是抽象类中可以使用一般类的封装类型
4.接口里没有构造方法,但是抽象类中有
5.在接口中不包含super,this,但是抽象类中可以用super,this

==和equals

怎么判断两个对象相等
1.==:
(1)对于对象来说,如果用两个对象变量去做判断,只能说明两
个对象变量是不是指向同一块内存区。
(2)注意null:表示空引用
2.equals:指示其他某个对象是否与此对象“相等”。
(1)在object继承过来的方法比较仍然是是不是指向同一块内存区
    public boolean equals(Object obj) {
 return (this == obj);
    }
(2)一般情况下根据需要在子类中进行改写
3.instanceof:运算符,左方是一个对象变量,右方是类型
判断左方是否是右方类型的实例或其子类实例,如是返回true,否则false
应用前提:左方代表的对象所属的类型和右方的类型存在继承关系

字符和字符串

(1)字符值:定义字符类型关键字:char类型  常量是:用''括起来如: ‘a’,‘b’,'\\'
(2)字符串:值用双引号括起来的值: "abc","cdef","ab\n"(表示:ab回车),"ab\\":(表示ab\),"中国"

重载和覆盖

方法重载:在类中方法名相同,参数不同

方法覆盖:子类和父类存在相同的方法名、参数列表、返回类型,在使用子类方法时即覆盖了父类的方法

向上转型和向下转型

向上转型:是指子类的对象变量或对象赋值给父类的引用,即子类的对象可以当做父类的对象使用

向下转型:就是把父类变量指向的对象强制转换为子类型的对象

throw和throws

throws关键词:仅说明方法可能会出现哪些异常,方法内部没有出来
throws:在方法的后边加上throws后,形如:
方法()throws 异常类1,异常类2
指的是:该方法以后可能会抛出异常类1,异常类2这些类异常
throw:自动抛出异常
如:throw new ArithmeticException();程序与手动抛出ArithmeticException类型的异常

throws:说明方法可能会抛出的异常
throw:抛出异常

throws和throw的区别:
throws是放在方法后用来说明将来方法可能会抛出的异常(系统的或自定义的)
throw:在方法中用来抛出异常的,此时需要new 一个异常对象,把异常信息封装

super和this的异同:

1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)

2)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)

3)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名    super.成员函数据名(实参)

4)this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)

5)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。

6)super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。

7)super()和this()均需放在构造方法内第一行。

8)尽管可以用this调用一个构造器,但却不能调用两个。

9)this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。

10)this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。

11)从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字。

continue和break
break:结束循环或switch语句
continue:通常表示结束本次循环

区别:break结束整个循环。continue结束本次循环,循环体语句中continue后边语句本次就不再执行,流程进行下次循环

转载于:https://www.cnblogs.com/sweet105/p/4620160.html

相关文章:

简谈 Java 中的泛型通配符

很好的一篇文章https://zhuanlan.zhihu.com/p/26681625 转载于:https://www.cnblogs.com/hihtml5/p/6978651.html

播客#47:劳伦斯·布拉德福德

On todays episode, I interview Laurence Bradford. Shes the creator of the LearnToCodeWith.me blog and podcast, and the Newbie Coder Warehouse Facebook group.在今天的一集中,我采访了劳伦斯布拉德福德。 她是LearnToCodeWith.me博客和播客以及Newbie Cod…

如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况

https://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的…

{code:-1,error:`QcloudSecretId`不能为空,请确保 SDK 配置已正确初始化}解决方法

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 微信小程序云开发登录报错:{"code":-1,"error":"QcloudSecretId不能为空,请确保 SDK 配置已正确初始化"} 遇到这个错误的原因是:腾讯不…

[转载] Tmux 速成教程:技巧和调整

原文: http://blog.jobbole.com/87584/ 决定从 screen 转向 tmux 了, 非常喜欢 tmux 的窗格功能. 简介 有些开发者经常要使用终端控制台工作,导致最终打开了过多的标签页。如果你也是他们当中的一员,或者你正在实践结对编程,那么我推荐你读一…

css在兼容模式下无法引用_如何在CSS中使用深色模式

css在兼容模式下无法引用by Frank Lmmer由FrankLmmer 如何在CSS中使用深色模式 (How to get dark mode working with CSS) I have been playing around with MacOS Mojave’s dark mode lately. It’s not 100% pleasing to my eyes, yet. But it’s especially useful when n…

COJ 0995 WZJ的数据结构(负五)区间操作

WZJ的数据结构(负五)难度级别:C; 运行时间限制:1000ms; 运行空间限制:262144KB; 代码长度限制:2000000B 试题描述请你设计一个数据结构,完成以下功能&#xf…

接入网易云信IM即时通讯的微信小程序聊天室

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 接入流程: 初次接触网易云通信IM服务,您可以通过以下产品介绍文档了解我们的产品功能、相关概念、业务限制: 产品简介主要功能帐号集成与登录接口及业务限制 1. 创建…

vue颜色选择器_如何制作? Vue的颜色选择器!

vue颜色选择器by ZAYDEK由ZAYDEK 如何制作? Vue的颜色选择器! (How to make a ? color picker with Vue!) 注意:颜色看起来可能比实际颜色更可爱! (Caution: colors may appear cuter than they are!) Before I get to the arti…

centos7中使用yum安装tomcat以及它的启动、停止、重启

centos7中使用yum安装tomcat 介绍 Apache Tomcat是用于提供Java应用程序的Web服务器和servlet容器。 Tomcat是Apache Software Foundation发布的Java Servlet和JavaServer Pages技术的开源实现。 本教程介绍在CentOS 7服务器上使用yum进行Tomcat 7的基本安装和一些配置。请注意…

JS 数组A有数组B的数据就删除

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 创建了两个数组,并且封装了一个函数以供调用。 var arr1 [a,b,c,d],arr2 [a,c,d,f]; this.arrayWeightRemoval(arr1,arr2); //返回结果 [b] ;// 数据去重this.arrayWeightRemoval functio…

PL/SQL Developer的调试存储过程

学会使用PL/SQL Developer的调试功能,对于编写复杂的存储过程,包,funtion...非常有帮助,所以今晚学习了一下: (1)在sp里设置断点。 (2)点击TEST. (3) Debug-->Start. …

graphql_普通英语GraphQL指南

graphqlby Luis Aguilar路易斯阿吉拉尔(Luis Aguilar) 普通英语GraphQL指南 (A Guide to GraphQL in Plain English) 您需要了解的最新流行语正在席卷API开发领域。 (All you need to know about the latest buzzword that’s taking the API development scene by storm.) TL…

第1课第4.4节_Android硬件访问服务编写HAL代码

android应用如何访问C库 - 落魄影子 - 博客频道 - CSDN.NET http://blog.csdn.net/ab198604/article/details/51249303 Android硬件访问服务框架代码编写 - 落魄影子 - 博客频道 - CSDN.NET http://blog.csdn.net/ab198604/article/details/51397586 4 编写HAL代码 源码下载方…

Android新版NDK环境配置(免Cygwin)

本菜鸟在查阅了很多文章,又是去折腾cygwin之类的,虽然可以编译出so文件,但运行项目却有很多问题。当发现最新的ndk不需要cygwin的时候,跪了(orz)。 现在进入正题。 使用工具: adt-bundle-window…

小程序获取用户的操作轨迹日志

微信小程序开发交流qq群 173683895 花费了两天时间,修改过数次,终于把这个功能封装成了一个独立的工具。 任何小程序都可在不修改原代码的情况下直接镶入使用!!! 步骤: 1. 在小程序 app.js 的平级目录…

paypal提现软件_PayPal软件工程师生命中的一天

paypal提现软件Find out what a normal day is like for a PayPal software engineer.找出PayPal软件工程师的正常日子。 Shruti Kapoor shares what she does and shows off some of the PayPal campus in San Jose, California.Shruti Kapoor分享了她的工作,并展…

关于IOS的蓝牙(转)

关于IOS的蓝牙 首先,你要了解你的目的是什么,一般的IOS蓝牙开发有以下三种目的: 1. IOS设备和IOS设备之间交互 好消息是:ios6.0可以把iPhone手机当从设备了,可以两台iPhone通过蓝牙通信传数据了,有点类似sp…

JavaSE--jdom解析之bom

参考:http://www.cnblogs.com/findumars/p/3620078.html 1 org.jdom2.input.JDOMParseException: Error on line 1: Content is not allowed in prolog. 2 13:15:55,821 [main] ERROR SajtSvrImpl:182 - 未知:org.jdom2.input.JDOMParseException: Error…

JS数组去重,JS根据数组里面的对象属性值去重

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 微信小程序开发交流qq群 173683895 js数组简单去重 var arr1 [1, 2, 3, 4, 5, 6, 3, 4, 3];function arrayUnique1(arr) {var arr1 [], obj {};for (var i 0, elem; (elem arr[i]) ! null; i) {i…

git 设置有效目录_如何有效使用Git

git 设置有效目录The code was working yesterday but today it is not该代码昨天有效,但今天却没有 The code got deleted代码被删除 A weird bug has been introduced suddenly and no-one knows how突然引入了一个奇怪的错误,没人知道如何 If you hav…

C\C++宏大全

一、标准预定义宏The standard predefined macros are specified by the relevant language standards, so they are available with all compilers that implement those standards. Older compilers may not provide all of them. Their names all start with double undersc…

POJ 3630 Phone List

题目大意:给n个字符串,问是否有一个是另一个的前缀思路:把n个字符串插到trie里,然后判断就好&#xff0c;注意一个长字符串覆盖另一个短字符串和短字符串匹配长字符串的区别 1 #include<iostream>2 #include<cstring>3 #include<cstdio>4 #define maxn 10000…

微信小程序地图标记点,点击标记点显示详细信息源码加效果图

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 效果图&#xff1a; 实现代码: <!-- <text>{{markers[id].placeName}}</text> --> <block wx:if{{isshow}}><map id"map" longitude"114.048410" latit…

如何仅使用HTML和JavaScript构建简单的URL缩短器

by Palash Bauri由Palash Bauri 如何仅使用HTML和JavaScript构建简单的URL缩短器 (How to build a simple URL shortener with just HTML and JavaScript) You might have used a URL shortener before, such as bit.ly, goo.gl. They are useful for shortening long URLs so…

hibernate中的hql查询语句list查询所有与iterate查询所有的区别

hibernate中的hql查询语句list查询所有与iterate查询所有的区别 list查询所有&#xff1b; 01&#xff0c;会立即产生一条select语句1select查询出来的所有语句都会被session管理&#xff0c; 保 存在缓存中 02&#xff0c;清空或者不清空session缓存中的数据&#xff0c;再次…

php解决 mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysq

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 The mysql extension is deprecated and will be removed in the future: use mysq 翻译&#xff1a; mysql_connect这个模块将在未来弃用&#xff0c;请你使用mysqli或者PDO来替代。 解决方法&#x…

Test execution order

刚开始的时候&#xff0c;JUnit并没有规定测试方法的调用执行顺序。方法通过映射的API返回的顺序进行调用。然 而&#xff0c;使用JVM顺序是不明智的&#xff0c;因为Java平台没有规定任何特定的顺序&#xff0c;事实上JDK7或多或少的返回的是随机顺序。大部分写的好的测试代码…

您需要了解有关Angular中的ng-template,ng-content,ng-container和* ngTemplateOutlet的所有信息...

It was one of those days when I was busy working on new features for my office project. All a sudden, something caught my attention:那是我忙于为Office项目开发新功能的日子之一。 突然间&#xff0c;一些事情引起了我的注意&#xff1a; While inspecting the DOM …

洛谷P2587 [ZJOI2008]泡泡堂

传送门 1368 泡泡堂 省队选拔赛 时间限制: 1 s空间限制: 128000 KB题目等级 : 大师 Master题解题目描述 Description第XXXX届NOI期间&#xff0c;为了加强各省选手之间的交流&#xff0c;组委会决定组织一场省际电子竞技大赛&#xff0c;每一个省的代表队由n名选手组成&#xf…