Java知识点整理

上传人:lcm****20 文档编号:45211234 上传时间:2018-06-15 格式:DOCX 页数:20 大小:61.04KB
返回 下载 相关 举报
Java知识点整理_第1页
第1页 / 共20页
Java知识点整理_第2页
第2页 / 共20页
Java知识点整理_第3页
第3页 / 共20页
Java知识点整理_第4页
第4页 / 共20页
Java知识点整理_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Java知识点整理》由会员分享,可在线阅读,更多相关《Java知识点整理(20页珍藏版)》请在金锄头文库上搜索。

1、Java 知识点整理1, 变量传值(两个变量赋值,将一个变量给方法的参数赋值) A, 值传递:基本类型之间是值的复制,传递基本数据类型参数 值传递只是将(实参)参数复制一份(传递给形参)而已,函数进行操作的是 另一个参数(形参),只是另一个参数(形参)的值和传递的参数(实参)值是相同 的,另一个参数(形参)对方法值的改变不会影响到该参数(实参)的值。 B,地址传递:引用类型之间的是地址的复制,将对象作为参数传递 地址传递是直接把参数(实参)的地址传递给函数,这时函数是直接对原 来的参数(形参)进行操作的,所以值会变化。 方法中需要传递的参数成为形式参数,即形参,而对象或者基本类型称 为实际参数

2、。Eg:int a=10;Book b=new Book(),为实际参数 2, 继承只能单继承 在找错题中注意父类有无无参构造器。 如果子类构造方法的参数和父类构造方法的参数相同,则意味着进行重写, 重写需满足传递参数、方法的声明都相同。 在方法重写时,如果需要调用父类的构造方法,则用 super.方法() 一个.java 源文件定义一个类,类都使用 public 定义 诸如结婚是否满足条件,可以在 clas person 里面定义一个 public Boolean marrywith(person p),诸如对年龄、收入等等进行区分,可以在 setage 中进 行定义区别 Eg:父类 sha

3、pe 有子类 circle 和 rect,shape 里面可以没有成员变量,构造方 法等,只需要有方法,诸如 area 等可以 return0;然后在子类中重写,super.方 法(),是继承父类 3, 多态性 使用多态需要有继承关系,多态的使用可以提高方法参数的灵活性,父类 型具有多态性,可以引用子类对象 eg:Fther f=new ChildA(); 多态的灵活运用: public static void main(String args) Circle c1 = new Circle(5,3,10); Rect r1 = new Rect(10,20); display(c1); di

4、splay(r1); public static void display(Shape s) /shape 为父类 /判断 s 的原本类型是否为 Circle if(s instanceof Circle) Circle c = (Circle)s;/强制转型 c.f1();/调用 Circle 新增方法 f1 System.out.println(“面积:“+s.area(); /因为参数传入为 s,方便 用 System.out.println(“周长:“+s.zhouchang(); 4, Static 关键字有 static 修饰的成员与类相关,没有 static 修饰的成员与对象相关

5、 (1)修饰属性 a.通过类名.调用 b.该类的所有对象共享该属性。 c.属性是在类加载器加载该类时分配空间 (2)修饰方法 a.通过类名.调用 b.该方法内只能使用有 static 修饰的属性或方法 c.方法内不能使用 this,super 关键字 (3)修饰代码块 a.是在类加载时执行,因为虚拟机对类只加载一次, 所以静态代码快只在第一次加载时执行。仅执行一次 静态模块的灵活运用 Static 5, final 关键字(1)修饰类 类为最终类,不能被继承。 (2)修饰方法 方法为最终方法,在子类中不允许被重写(覆盖)。 (3)修饰属性 属性值在赋值后,不允许被修改. 可以写于 main 方

6、法外面 定义属性时,如果加了 final,必须显示给定初值,系统不能默认初始化。 6, 定义常量格式: public static final 类型 常量名=值 常量名注意全部大写 写于 main 方法外面 7, 抽象类:abstract (1)抽象类概念 a.抽象类只能作为父类使用,不能实例化。 b.抽象类可以包含抽象方法,也可以不包含抽象方法。 c.如果子类继承了抽象类,必须全部实现父类的抽象方法, d.否则子类得继续充当抽象类。 (2)抽象方法 a.在定义父类时,如果有些方法无法确定具体实现,可以定义成抽象方 法。 Eg:猫的爬树和熊的力量,不一定能全部实现 b.抽象方法格式如下: 修饰

7、符 abstract 返回类型 方法名(参数列表);抽象类构造方法必须存在于抽象类中!8, interface(1)概念 接口是一种特殊的抽象类,其中只有常量和抽象方法的定义。弥补了继 承只能单继承的缺点。它是系统和外界交互的窗口。 Eg:public static final int A=0; public void liliang(); (2)接口定义格式 public interface 接口名 extends 接口 1,接口 2. 注意:与类继承不同,接口允许多继承。 (3)接口的使用 public class 类名 implements 接口 1,接口 2. /必须实现接口中的所有方

8、法 /否则该类必须是抽象类 /多态使用 接口类型 变量 = new 接口实现类(); 9, 模版设计模式:day7 运用到 abstract a.代码重复利用 b.如果业务的主要处理逻辑相同,局部子类实现不同,可以将这部分相同逻辑提到模版类中,模版类采用抽象类定义。不同实现部分放到子类实现。 10,单子模式 day7 为了保障一个类,只能创建出一个对象,不能存在多个对象。 实现步骤: a.将构造方法私有,防止外界使用 new + 构造方法()创建对象 b.提供一个静态返回当前类型对象的获取实例的方法第一次调用该方法时,调用 new 构造器创建对象,后续调用该方法时,将 第一次创建的对象返回 1

9、1,eg: String id=sc.next(); String id1=“d15|d18“;if(id.matches(id1) /匹配用matchs p.setId(id);/这里把信息输入放入一个数组中去,方便输出! elseSystem.out.println(“您输入格式有误,请重新输入!“);return; /输入错误会直接结束,不会执行下一段 12,打乱排序:collections.shuffle(list); 13,String(1)不可改变:String 对象的内容是不能改变的.String str = “abc“;/创建了一个对象,存储 abc,然后将引用给 str 变量

10、str = “efg“;/又创建一个对象,存储 efg,然后将引用给 str 变量(2)字符串缓冲区用于字符串常量,缓冲区中的字符串对象可以共享String s1 = “abc“;/在缓冲区中创建存储 abc 的对象,然后将引用给 s1String s2 = “abc“;/使用前面创建的存储 abc 的对象注意:new String(“abc“)创建出来的对象不使用缓冲区(3)常用的 String 方法 char charAt(int index) /抓去 int length() /长度 String toLowerCase() /小写 String toUpperCase() /大写 St

11、ring trim() /去除首位空格 int compareTo(String anotherString) /从首字母开始比较,相同返回 0 int compareToIgnoreCase(String str) /不区分大小写 boolean equals() /是否内容相等 boolean equalsIgnoreCase() /不区分大小写,比较内容是否相等 boolean startsWith(String prefix) /以为开头 boolean endsWith(String suffix) /以为结尾 int indexOf(int ch) /首次出现 ch 的位置 int

12、 lastIndexOf(int ch) /最后出现 ch 的位置 String replace(char oldChar, char newChar) /替换 String replaceAll(String regex, String replacement) /全部替换 String split(String regex) /分割 String substring(int beginIndex) /从 beginIndex 至结尾的输出 static String valueOf(boolean b) /以 String 类型返回值 14,StringBuffered 和 StringB

13、uilder 特性(1)都是可变字符序列,拥有相同的方法 API(2)StringBuffer 线程安全的 /能够实现同步StringBuilder 线程不安全,从 1.5 版本开始有 /不一定能实现同步 StringBufferStringBuilder 方法StringBuilder append(boolean b) /添加 StringBuilder delete(int start, int end) 大于等于 start,小于 end /删除StringBuilder insert(int offset, String str) /插入StringBuilder reverse()

14、 /调换顺序 记住:最后输出 return 的时候要转换成 String 形式,比如 sb.tostring() StringBuffer s=new StringBuffer();for(int i=0;i 3 3) 散列桶:散列值相同的元素的“线性集合” 4) 加载因子(load factor)小于 75% 6(元素数量) / 10(散列表容量) = 60% 5) 散列查找:根据 key 计算散列值,根据散列值找到散列桶, 在散列桶中顺序比较 key,如果相同,返回此元素。 6) 散列表中 key 不同,value 可以重复。 散列算法:不可逆的单向函数。key - f(key) d,Ha

15、shMap 常用方法: 它是不同步的 put(key, value) constainsKey(key) /返回 boolean,判断集合中是否包含 key 值 get(key) /通过 key 找到 value remove(key) /从集合中去除元素 keySet() /返回 key 的集合,Set values() /返回值的结合,Collection Set keys=table.keySet();Collection valus=table.values(); /集合 e,集合的迭代(遍历)Iterator day10 InteratorDemo Iterator(); Arrays.sort(arrays,new Comparator(); 数据和比较原则分开。CallBack(回调)方式 g: System.out.println(list.indexOf(“123”);/错误, indexOf()内应该是一个对象,所以先 new 一个对象 只有 Vector 是同步的,其他 Collection 都是不同步的 g,Array.length;/不加(),它是个属性! Collections.size();/集合长度用 size(),这是一个方法! ! 22,简单类型包装类(封装类) byte Byte short Short int Integer

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号