①Object类

一切类都是从这个类继承来的
clone函数:浅复制 对象内部的引用直接复制,指向与之前相同的位置class Student implements Cloneable{string name;int age;public static void mian(){Student s1 = new Student(18,"zs");Student s2 = (Student) s1.clone();}
}equals 函数 判断两个对象是否相等
判断两个引用变量是否相等class Student implements Cloneable{string name;int age;public static void mian(){//s1 s2 是两个不同的引用变量Student s1 = new Student(18,"zs");Student s2 = (Student) s1.clone();boolean b1 = s1.equals(s2);//false}}Object 类里面的equals
public boolean equals(Object another){//判断引用变量的值是否相等return this == another;
}//两个对象相等:内存中两个对象的类型一样,封装的值一样,就是相等的。
class Student implements Cloneable{string name;int age;boolean gender;public boolean equals(Object o){//判断引用变量的值是否相等if(o == null){return false;}if(o instanceof Student) {Student s2 = (Student)o;o.getClass()== Student.class;//加一个这个判断if( s2.age == this.age && s2.name.equal(this.name)&& s2.gender == this.gender){return true;}}else{return false;}}
}

②Class类

一组具有相同特征结构的对象叫做类,本类不是由程序员创造,class 构造函数不可由程序员调用
任何对象都有是Class类型
Object.getClass().getClassName();class Student implements Cloneable{string name;int age;public static void mian(){//s1 s2 是两个不同的引用变量Student s1 = new Student(18,"zs");Student s2 = (Student) s1.clone();s1.getClass() == s2.getClass();Student.class == s1.getClass();//class 是成员变量}}

③finalize函数

释放垃圾对象的函数,虚拟机在合适的时候释放
释放失败的话之后就不会再次释放
例如,在finalize函数内部将this赋值给一个静态全局变量则会出现释放失败的情况,
以后就不会释放了

④hashCode函数

返回一个对象在内存中的地址

⑤toString

//返回类的名字,需要进行改写
class Student implements Cloneable{string name;int age;public String toString(){return "name="+name+...;}}

⑥String类

class Student implements Cloneable{string name;int age;public int compareTo(Object o){//比较两个对象的大小,返回int,如果是0则大小相等return this.java - ((Student)o).java;}
}String s = new String();//少用这个函数,不同平台运行结果不同,会降低java的跨平台特性
String(byte[]byte);用默认编码方式进行字符串的编码
String(byte[]byte,Charset charset);//一般使用这个指定字符串的编码解码方式
java虚拟机内存中的编码unicode,虚拟机自动进行由unicode到GB-13080的映射转换
我们编程的时候只需要知道字符的GB-13080编码就可以直接进行赋值字符串对象都是只读对象,修改字符串是新创建一个字符串,如字符串改变大小写等,则性能会差
字符串运算会频繁的产生和释放字符串,则性能会差重要函数 indexOf()//判断字符串是否包含某一子串

⑦StringBuffer

⑧包装类

int 对应的包装类class Integer:
构造函数
Integer(int a);
Integer(String a);
Integer("6"),构造函数,将字符串转换为int
parseInt(String s);//将字符串转换为数字相同的有parseDoubletoBinaryString();//转换为二进制字符串valueOf()字符串和包装类都是只读的类,不可进行数值的修改

⑨System类

in
out
ArrayCopy
后续更新

⑩集合类,集合接口

java.utilinterface Collection //只是一个函数接口:
size()
add()
remove()
removeIf()
toArray()//返回对象数组
addAll()//添加一个集合到另一个集合
clear()//清空所有函数
contains();//判断是否包含某一个元素
//调用equals函数进行比较,只要相等就返回在这里,不是判断引用,而是判断值
Collection_1 c = ...;

List

继承自Collectionadd()
add(int index,E element);
set(int index,E element);
get(int index);subList(int fromIndex,int toIndex);//截取,不包括结尾位置的元素实现类 ArrayList LinkList
ArrayList
存到数组里面,下标访问速度快
添加删除操作有时慢LinkedList 数据存在双向链表
访问速度慢

Set

继承自Collection,函数与Collect一样,但是保证集合里面没有重复元素HaseSet
用equals进行比较,然后插入
可以是不同的类型TreeSet:
用compareTo进行比较,然后插入,一定要实现compareTo接口、
必须用相同类型,可比较

Java高级编程5-姜国海相关推荐

  1. Java高级编程3-姜国海

    ①多态 行为的多样性表现形式:1.重载,2.覆盖 1.在一个类里面函数名一样,输入参数不一样仅仅是返回参数不一样时,不可多态.返回值是可以放弃的,即不可以通过返回值区别不同函数 Eg: class s ...

  2. Java高级编程12-姜国海 事件处理

    广义的事件驱动:任何对象的属性值发生变化,对应一次事件. 按钮类 //一个类调用另一个类的成员函数class A{B b;A(B b){this.b = b;}public void setB(B b ...

  3. 带你了解Java高级编程-----多线程

    带你了解Java高级编程-----多线程 对于Java的学习,基本的步骤是Java基础编程,掌握了Java语言的基本语法.数组.面向对象编程.异常处理这四部分之后,就要开始对Java高级编程进一步学习 ...

  4. 读书笔记-Java高级编程-魏勇

    Java高级编程 魏勇 清华大学出版社 ISBN-9787302450948 仅供参考, 自建索引, 以备后查 一.javadoc.jar.JMX.SVN.Git /** * 此类注释出在执行命令后生 ...

  5. java高级编程期末考试题_java高级编程考题

    Java高级课程测试 1在进行swing开发时,经常用的布局管理器有那几种?(5) 2Gui组件,容器,框架,到底有怎样的关系,请举例说明?(5) 3在进行swing开发中会用到事件处理,那事件处理的 ...

  6. 【渝粤题库】广东开放大学 Java高级编程技术 形成性考核

    ​题目: Java语言中可以作为标识符的有(). 题目: Java中的流程控制语句包括(). 题目:计算机语言的发展经历了非常大的变革,其发展具体包括(). 题目:java源程序经过编译器编辑后,形成 ...

  7. 字节跳动面试真题:java高级编程考试题及答案

    我听到的一些发声 你们赚的钱已经可以了: 我一个发小是做土木工程的,上海大学博士,参与很多著名建筑的工程,但是从薪资上看,还不如一些稍微像样的公司的6年多的高级开发.为什么?这就是行业的红利,个体是享 ...

  8. Java高级编程学习

    1.9日学习笔记 类变量/静态变量 (jdk8以后,静态变量存放在堆里这个类对应的class对象最后,jdk8以前,静态变量存放在方法区) 类变量也叫静态变量/属性,是该类所有对象共享的变量,任何一个 ...

  9. Java高级编程之常用类

    一.String类 java.lang.String类的使用 (一)概述 String: 字符串,使用一对""引起来表示. String声明为final的,不可被继承 String ...

最新文章

  1. 100G内存下,MySQL查询200G大表会OOM么?
  2. 智能化时代的到来,智能机器人会抢走我们的工作和收入吗?
  3. 机器人学习--电子指南针定位导航
  4. GIS中最短路径的实现
  5. CRM Extension field render and property handling
  6. 后端技术:Hibernate 和 MyBatis 哪个更好用?
  7. jzoj1013-GCD与LCM【数论】
  8. 蓝桥杯小朋友排队java_[蓝桥杯][历届试题]小朋友排队 (C++代码)
  9. Currency Exchange (POJ 1860)
  10. java实现rabbitmq简单队列模型,生产者 消费者 消息队列
  11. java int转integer方法
  12. linux镜像ISO文件下载
  13. H5模板代码一键生成器
  14. 地籍图 cad cass 二次开发 过滤器过滤扩展数据组码1000的解决方案
  15. 小学计算机无生试讲教案,小学英语无生试讲
  16. AppScan渗透测试
  17. 转载:主外键关联删除(on delete set null和on delete cascade)
  18. 光纤收发器常见故障问题的时候我们该如何解决呢
  19. new URL(“www.jjj.com“)
  20. 小米2016AP2594计算机参数,小米6完整详细参数配置表:骁龙835处理器CPU+6GB内存

热门文章

  1. windows中如何给程序添加管理权限和添加数据保护(dep)
  2. Python框架篇:结构化的网页抓取框架-Scrapy
  3. 兄弟hl3150cdn打印测试页6_兄弟3150CDN彩色激光打印机
  4. Python|计算工资
  5. c++ nvcc编译CUDA程序入门示例
  6. 【保存】新装Win10后Edge、OneDrive无法登录微软账号解决办法
  7. 多层板交期怎么才能有效把控?
  8. 服务器接显示器卡顿,外接屏幕会出现卡顿、掉帧等问题怎么解决?
  9. 微信小程序 全面屏适配
  10. 中国信息安全测评中心-自主原创测评