Java学习回忆录-基础理论-014

61 篇文章 0 订阅
48 篇文章 1 订阅

Java学习回忆录-基础理论-014

java的包机制

概述:包其实就是文件夹。

作用:就是对类进行分类管理。

划分分类:按安装功能划分,按照模块划分

建议规范:包名以公司的域名反写,以. 分割

注意:package 语句必须是有效代码的第一行。

java的导包

如果在一个包中,要使用到其他包中的类.

  1. 使用这个类全限定名称.
    包名.类名.
    这样写,太长,太繁琐. 可以使用导包语句.
  2. 导包.
    import 包名.类名;
    有了导包语句之后,在程序中,就不用 包名.类名的访问。

java 的权限修饰符

本类同一个包中不同类不同包中子类不同包普通类
publicokokokok
protectedokokok
defaultokok
privateok

注意: public 最好理解,权限最大,如果一个类中的成员被public 修饰,意味没有限制,都可以访问到.
private 也好理解,权限最小,只能在本类内部访问.
default:
包权限.
一旦类的成员没有加访问修饰符,就是默认的.
这样的成员,不能跨包(只能在一个包中访问)
protected
和default 如果是同一个包中,没有区别.
如果跨包:
protected 多了一种选择, 可以给子类访问.
default : 不可以的.

api文档的使用

  1. 打开jdk官方文档。
    显示->索引->出现搜索框.
    可以在搜索框中,输入需要使用的,类名.
    例如: 输入Random 类.

  2. 查看类的说明

    • 看类所属的包.

      • 如果该类位于java.lang 包中.
        使用该类,不用导包.
      • 如果不是java.lang 包中
        使用该类,需要导包.
    • 看看类的关系
      父类, 子类, 实现的接口.

    • 再看看类的描述
      是否是抽象类. 是否是final 类.
      如果抽象类->放弃. 这类不能创建对象.
      如果是final 类 -> 该类不能被子类继承…

    • 阅读类的说明
      通常是看不懂的…

    • 查看类的构造方法
      有没有无参数构造.

    • 查看类的成员方法
      重点是这些

Object 类

  1. 该类是所有类的父类.
    显示的:自定义类,没有继承其他类,他的父类就是Object
    隐式的:自定义类,继承了其他类,此时该类是简介继承的Object类
  2. 该类的方法
    toString ->返回一个字符串.
    建议子类需要重写,返回更有意义的,更易于阅读的字符串.
    通常自定义类使用工具生成.
    equals ->该方法返回布尔值.
    用于比较两个对象是否想
    Object 类底层 比较的是对象的地址是是否相等. 建议子类都要重写该方法.建立子类自己的比较方式(通常会比较内容是否一致)
    通常也会使用工具生成。

String类

  1. String类特点

    String 类代表字符串。
    字符串底层是就是一个字符数组. 
    
  2. String类创建对象的方式:

    查看api文档,阅读了关于String类的描述,该类提供了众多的构造方法. 
    能够通过这些构造方法,创建字符串对象:
       	方式一: 通过构造方法
            String(String original) 
            初始化一个新创建的 String 对象
            String(char[] value) 
            分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。	
            String(char[] value, int offset, int count) 
            分配一个新的 String,它包含取自字符数组参数一个子数组的字符。
            最好的理解方式,测试(写代码)
            由于字符串在程序中出现的频率很高,(经常使用)  
    	方式二: 直接赋值法
            String s="abc";
    
  3. 创建字符串对象两种方式有区分么?

    创建的字符串对象. 会在堆内存中开辟空间. 
    直接赋值法:
    	创建的字符串对象,直接在字符串常量池.
    字符串常量池:(思想)
    	提升性能,节约内存... 
    	消耗内存... 
    	硬件   
    

StringBuilder类

字符串缓冲区,是一个可变的容器.

String 类缺陷:

1. 如果要大批量的操作字符串.
	例如: 要拼接字符串时. 
	一旦有拼接产生, 由于字符串对象是不可变, 字符串在拼接时,产生一个新的字符串对象,丢弃掉就的字符串对象... 
	这样,如果有大批量操作字符串, 性能就很低了,导致字符串常量池,出现了大量的不再使用的字符串对象(垃圾)
2. java 为了解决该缺陷.
	设计了字符串缓冲区. 这个缓冲区是一个容器,并且是可变的... 

StringBuilder类和String 类的区别:

String 类:
	对象是不可变. 
	例如: 进行字符串拼接是. 
		String s1="abc";
		s1+="hello"; 
	由于字符串对象不可变.在常量池中 "abc" "hello" 完成拼接: 最终产生新的字符串对象: "abchello"
	性能不高:字符串较多时,性能低. 
StringBuilder 类
	对象是可变的. 
	例如:创建了StringBuilder 类对象,就叫做创建了字符串缓冲区. 
	缓冲区只有一个, 但是可以不停的操作缓冲区,往这缓冲区增加新的字符串. 而缓冲区只有一个... 
	优于缓冲区只有一个,性能高于字符串.. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值