------- 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

黑马程序员—易混淆的知识相关推荐

  1. 黑马程序员_JAVA相关基础知识

    ------- android培训.java培训.期待与您交流! -------- JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便 ...

  2. 黑马程序员 JAVA相关基础知识

    1.面向对象的语言特征 封装.继承.多态 2.Java I/O中字符流和字节流的区别 字节流是传递0~255的整数而Java中有一些(如unicode代码)不能使用字符流,是特殊的字节流, 3.Has ...

  3. Uni-App从入门到实战-黑马程序员【uniapp基础知识讲义笔记】

    想要课程资料的同学可以留言,留下你的邮箱哦 ####uni-app的基本使用 课程介绍: 基础部分: 环境搭建 页面外观配置 数据绑定 uni-app的生命周期 组件的使用 uni-app中样式学习 ...

  4. 黑马程序员——Java集合基础知识之Map

                                         android培训.java培训.期待与您交流!   Map概念 要同时存储两个元素Key和Value,他们之间有映射关系,每 ...

  5. 黑马程序员入学Java知识——精华总结

    黑马程序员入学Java知识--精华总结 J2SE部分,Java高新技术部分,7K面试题部分等黑马入学要求的知识点总结! 一.黑马程序员-java概述与基础知识 6 1.何为编程? 6 2.Java语言 ...

  6. 黑马程序员 一、java 概述与基础知识

    获取更多资源关注Java帮帮IT资源分享网 一.黑马程序员-java 概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果 的过程. 为了使 ...

  7. [学习笔记]黑马程序员-Hadoop入门视频教程

    文章目录 参考资料 第一章:大数据导论与Linux基础(p1-p17) 1.1 大数据导论 1.1.1 企业数据分析方向 1.1.2 数据分析基本流程步骤 明确分析的目的和思路 数据收集 数据处理 数 ...

  8. python大数据就业方向_大数据专业未来的就业方向有哪些?[黑马程序员]

    目前大数据是一个十分热门的行业.一个行业的兴起必定会衍生出相对应的岗位.本篇文章给大家总结下学习大数据后未来可以就业的方向,给大家提供参考. 在数据驱动的未来,大数据人才市场势必会越来越大,而现在仅仅 ...

  9. 最近整理的一些常见的面试题,面试大全,黑马程序员面试宝典题库---最新技术--篇

    第八章 最新技术(评论区留言获取原件) 一. Redis 1. Redis 的特点? Redis 是由意大利人 Salvatore Sanfilippo(网名: antirez)开发的一款内存高速缓存 ...

最新文章

  1. linux的翻译系统开发,Linux系统下的翻译神器——Goldendict
  2. 【ES6】Promise对象详解
  3. SpringBoot应用之消息队列rabbitmq
  4. Redis中的发布与订阅的概念与以命令行的方式实现发布订阅举例
  5. C语言 | 基于卡尔曼滤波器的角度测量仪(MPU6050)
  6. QT-Creator+SDK+编译器+自定义配置
  7. Java多线程sleep和wait的区别,总结得非常好
  8. Java正则表达式中的反向引用
  9. 多通路fpga 通信_基于USB通信的FPGA高速数据采集系统研究
  10. 通达信完全加密指标破解 通达信完全加密公式源码提取 tni tne tn6还原源文件
  11. Win2012或Win2016安装网卡
  12. ZooKeeper应用——解决分布式系统单点故障
  13. fstream常用方法详解
  14. Google Map开发之实战
  15. nginx 拒绝了我们的请求
  16. 关于瑞萨RL78系列单片机在线升级
  17. 强制删除桌面多余或恶意IE图标方法 :强制删除桌面多余或恶意IE图标方法:
  18. Detectron2迷幻问题解答 - 持续连载
  19. 计算机安全外文文献出处,网络信息安全外文文献翻译中英文.doc
  20. 递归判断回文字符串c语言,递归判断字符串是否为回文

热门文章

  1. ASP.NET 2.0在SQL Server 2005上自定义分页
  2. 计算机应用基础电子演示文稿系统行考作业,最新电大计算机应用基础形考PowerPoint答案...
  3. 区块链编程完全指南:平台、语言与结论
  4. aws lambda使用_使用AWS Lambda安排Slack消息
  5. UI设计APP图标设计规范介绍
  6. object.create()
  7. 217. 验证码 demo
  8. 与HTTP关系密切的协议:IP、TCP、DNS
  9. 远程连接windows出现身份验证错误,提示由于CredSSP加密Oracle修正解决方案
  10. java子类对象和成员变量的隐写方法重写