面向对象15.1String类特点
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类特点的更多相关文章
- 面向对象15.3String类-常见功能-获取-1
API使用: 查API文档的时候,有很多方法,首先先看返回的类型 下面的方法函数有的是有覆写Object类的如1.1图,如果没有复写的话是写在1.2图片那里的,如果找到了相对于的方法,可以点击进去可以 ...
- 面向对象15.3String类-常见功能-判断
/*3.判断 * 3.1两个字符串内容是否相同? * boolean equals(Object obj)(参数是Object,不是String,因为equals是覆盖Object里面的equals方 ...
- 面向对象15.3String类-常见功能-转换
public static void main(String[] args) { //2.1// String s="张三,李四,王五";// String [] arr=s.sp ...
- 面向对象15.3String类-常见功能-获取-2
public class String_APImethod {/* * 1.4获取字符串中的一部分字符串,也叫字符串 * String substring(int beginIndex, int en ...
- 面向对象15.2String类-构造函数
public class String_Constructor { //快捷键小方法: Ctrl+d,删除整行,选中几行删除几行 public static void main(String[] ar ...
- Object-C面向对象之实现类
Object-C面向对象之实现类 一般涉及到面向对象都会C#,Java都不可避免的涉及到类,C#中类的后缀名是.cs,Java中是.java,Object-C中一般用两个文件描述一个类,后缀名为.h为 ...
- day20面向对象三大特性 , 类嵌套
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.简述面向对象三大特性并用代码表示."""封装:class Account: ...
- C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]
面向对象编程 --句柄类与继承[续] 三.句柄的使用 使用Sales_item对象能够更easy地编写书店应用程序.代码将不必管理Item_base对象的指针,但仍然能够获得通过Sales_item对 ...
- 【转载】【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态
[游戏开发]在Lua中实现面向对象特性——模拟类.继承.多态 阅读目录 一.简介 二.前提知识 三.Lua中实现类.继承.多态 四.总结 回到顶部 一.简介 Lua是一门非常强大.非常灵活的脚本语 ...
随机推荐
- 用R语言做数据清理(详细教程)
数据的清理 如同列夫托尔斯泰所说的那样:“幸福的家庭都是相似的,不幸的家庭各有各的不幸”,糟糕的恶心的数据各有各的糟糕之处,好的数据集都是相似的.一份好的,干净而整洁的数据至少包括以下几个要素: 1. ...
- collections 模块:更多数据结构
- 【Android】又一个Gank客户端来啦
介绍 Gank平台的移动端又来了,非常感谢Gank平台开放接口,让我们这些小白有机会练手.学习. 本项目在架构方面有稍微花点心思,虽然还是最简单的MVC模式,但基本参考MVP的思想,Activity只 ...
- 低版本eclipse导入高版本eclipse创建项目报错问题
例如用高版本eclipse创建的项目,会默认使用的是jdk1.8版本, 低版本eclipse创建项目,会默认使用的是jdk1.7版本. 此时导入高版本eclipse项目时会报错(文件夹中会出现红色!) ...
- 两个同级div等高布局
显示效果: css代码如下 .wrap{ overflow:hidden; } .left{ width:30%; background:#09C; } .right{ width:70%; back ...
- 玩转nodeJS系列:使用原生API实现简单灵活高效的路由功能(支持nodeJs单机集群),nodeJS本就应该这样轻快
前言: 使用nodeJS原生API实现快速灵活路由,方便与其他库/框架进行整合: 1.原生API,简洁高效的轻度封装,加速路由解析,nodeJS本就应该这样轻快 2.不包含任何第三方库/框架,可以灵活 ...
- Navicat11全系列激活(注册机)
Navicat是一款数据库管理工具, 用于简化, 开发和管理MySQL, SQL Server, SQLite, Oracle 和 PostgreSQL 的数据库: Navicat数据模型工具以图形化 ...
- Elasticsearch文档查询
简单数据集 到目前为止,已经了解了基本知识,现在我们尝试用更逼真的数据集,这儿已经准备好了一份虚构的JSON,关于客户银行账户信息的.每个文档的结构如下: { , , "firstname& ...
- html5中cookie介绍,封装以及添加,获取,删除
cookie是储存在用户本地终端上的数据. 在我们登陆网站时有记录密码,也有时间限制比如说7天,5天等等这都是我们利用cookie来写的, 这就是利用了cookie的会话周期,但cookie同时又是不 ...
- Linux crontab定时执行任务命令格式与详细例子
基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...