String 特点:

  字符串对象一旦被初始化就不会被改变。

public class Ssstring {
public static void main(String[] args) {

//这个是2个2对象
// String s="abc";//这个s指向abc
// s="nba";//现在这个s指向nba
//字符串对象一旦初始化不能变
//s只是一个引用变量,可以指向任何东西,那个是他的事情
// System.out.println(s);

/*
*
* 字符串定义的第一种方式,并明确字符串常量池的特点
* 池子中没有就建立,有的话就直接用
* */

// String s="abc";//s="abc"给了一个字符串,他会先到字符串常量池,
// //找,看有没有abc,一看没有就建立一个abc,在把建的这个abc的地址给s
// String s1="abc";//s="abc"给了一个字符串,他会先到字符串常量池,
// //找,看有没有abc,一看有"abc",因为上面刚刚已经创建过abc了,
// //然后他就把已有的abc的地址赋给s1
//
// System.out.println(s==s1);//true?字符串建立时,在内存当中有一个字符串常量池,
// //根据上面的介绍,所以s==s1是指向同一个对象

/*
* 创建对象都是用new创建,一个类想要用new创建对象,要初始化。
* */
//这个2个的区别:
// String s="abc";//这个是在字符串常量池中创建了一个字符串abc并把地址赋值给了s引用型变量(这个其实是创建了一个对象)
// String s1=new String("abc");//这个是在堆内存当中new创建了一个String对象,这个String对象在构造的时候,
// //接受了一个字符串abc。=new String("abc")这个动作不是在字符串常量池中创建的。
// //(这个其实是在堆内存中创建了2个对象,第一个是new了一次new String,第二个是把对象参数abc传进去了,对象是要先存在,所以还要在创建一个字符串abc对象,所以就是有2个对象)
// System.out.println(s);//abc
// System.out.println(s1);//abc
// System.out.println(s==s1);//false?,"=="是用来比较地址的值(这个地址就是常量池里面的地址值)
// System.out.println(s.equals(s1));//true?,String类是Object类的子类,String是将Object类中的equals方法覆写
// //他建立了字符串依据自身特点来比较字符串对象,是否相同的依据,(其实就是equals比较的是内容,不比较地址)

}
}

面向对象15.1String类特点的更多相关文章

  1. 面向对象15.3String类-常见功能-获取-1

    API使用: 查API文档的时候,有很多方法,首先先看返回的类型 下面的方法函数有的是有覆写Object类的如1.1图,如果没有复写的话是写在1.2图片那里的,如果找到了相对于的方法,可以点击进去可以 ...

  2. 面向对象15.3String类-常见功能-判断

    /*3.判断 * 3.1两个字符串内容是否相同? * boolean equals(Object obj)(参数是Object,不是String,因为equals是覆盖Object里面的equals方 ...

  3. 面向对象15.3String类-常见功能-转换

    public static void main(String[] args) { //2.1// String s="张三,李四,王五";// String [] arr=s.sp ...

  4. 面向对象15.3String类-常见功能-获取-2

    public class String_APImethod {/* * 1.4获取字符串中的一部分字符串,也叫字符串 * String substring(int beginIndex, int en ...

  5. 面向对象15.2String类-构造函数

    public class String_Constructor { //快捷键小方法: Ctrl+d,删除整行,选中几行删除几行 public static void main(String[] ar ...

  6. Object-C面向对象之实现类

    Object-C面向对象之实现类 一般涉及到面向对象都会C#,Java都不可避免的涉及到类,C#中类的后缀名是.cs,Java中是.java,Object-C中一般用两个文件描述一个类,后缀名为.h为 ...

  7. day20面向对象三大特性 , 类嵌套

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.简述面向对象三大特性并用代码表示."""封装:class Account: ...

  8. C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]

    面向对象编程 --句柄类与继承[续] 三.句柄的使用 使用Sales_item对象能够更easy地编写书店应用程序.代码将不必管理Item_base对象的指针,但仍然能够获得通过Sales_item对 ...

  9. 【转载】【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态

    [游戏开发]在Lua中实现面向对象特性——模拟类.继承.多态   阅读目录 一.简介 二.前提知识 三.Lua中实现类.继承.多态 四.总结 回到顶部 一.简介 Lua是一门非常强大.非常灵活的脚本语 ...

随机推荐

  1. css实现梯形(各种形状)的网页布局——transform的妙用

    在各式各样的网页中,经常会看到形状特别的布局,比如说下面的这种排版方式: 这种视觉上的效果,体验十分好.那么他是如何来实现的呢,博主在这里整理了如下2种实现的方式. 1.通过给 div 加border ...

  2. 移动前端meta

    <!-- 页面描述 --> <meta name="description" content="不超过150个字符"/> <!-- ...

  3. python标准库]Hashlib

    hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法. 在学习hashlib模块之前,先来看 ...

  4. 每天一个Linux命令—— crontab

    一.简介 1. Linux中有许多周期性执行的任务,这些任务由cron守护进程完成,因此cron这个系统服务是默认启动的. 2.Linux中调度任务分为两类:系统任务调度和用户任务调度,系统任务调度即 ...

  5. WireShark网络分析就这么简单 读后感

    京东618活动,满200减100,果断入手了这本经典的 WireShark教程

  6. FTP主动模式和被动模式的区别

    基础知识: FTP只通过TCP连接,没有用于FTP的UDP组件.FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口).通常21端口是命令端口,20端口是数据端口.当 ...

  7. WAF指纹探测及识别技术

    Web应用防护系统(也称:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HT ...

  8. git clone https://github.com/istester/ido.git ,确提示“Failed to connect to 192.168.1.22 port 8080: Connection refused” 的解决办法 。

    不知道是否有同学遇到如下的问题: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo } span.s1 { } git clone ...

  9. python爬虫番外篇(一)进程,线程的初步了解

    一.进程 程序并不能单独和运行只有将程序装载到内存中,系统为他分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别在于:程序是指令的集合,它是进程的静态描述文本:进程是程序的一次执行活动, ...

  10. 手动添加git到目录右键菜单

      1.通过在"运行"中输入'regedit',打开注册表. 2.找到[HKEY_CLASSES_ROOT\Directory\Background]. 3.在[Backgroun ...