java笔记(三)
来源:互联网 发布:淘宝小号批量注册机 编辑:程序博客网 时间:2024/06/08 06:15
书接上文
27.内部类可以访问外部类的私有成员,外部类访问内部类的成员必须通过内部类对象才能实现
28. 非静态内部类不能定义静态变量,不能在静态方法中实例化
public class InnerTest {private String str;public InnerTest() {super();}public InnerTest(String str) {super();this.str = str;}static class InnerA {private String str1;// 28static int s;public InnerA() {super();}public InnerA(String str1) {super();this.str1 = str1;}public void Test2() {}}class InnerB {private String str1;public InnerB() {super();}public InnerB(String str1) {super();this.str1 = str1;}public void Test() {// 27System.out.println(str);}}public void Test() {InnerB iB = new InnerB();InnerA iA = new InnerA();System.out.println(InnerA.s);}public static void main(String[] args) {InnerTest iTest = new InnerTest();}}
29.内部类的一种应用,存储常量并分类
public class ProjectConst {public static class Const1{public final static String classs_1="room1";public final static String classs_2="room2";public final static String classs_3="room3";}public static class Const2{public final static String NAN = "boy";public final static String Nv = "girl";}}
30. String不可变型,String str = a +b+c+d;(a,b,c,d都是String类型)此时相当于开辟了四个空间,所以因为这个原因写sql语句尽量不要用+连接字符串
31.StringBuffer多线程的;StringBuilder单线程的,不安全
32.for循环相当于使用了迭代器
import java.util.HashSet;import java.util.Iterator;import java.util.Set;public class Test {public static void main(String[] args){Set<Integer> s = new HashSet<>();s.add(1);s.add(2);s.add(3);s.add(4);s.add(5);Iterator<Integer> it = s.iterator();while(it.hasNext()){int tmp = it.next();System.out.println(tmp);}System.out.println();}}
33.s instanceofHashSet<Integer>会报错,泛型并不是一种类型
34.泛型前不能加static(static T a),静态方法里不能有泛型
35.两个类对象a,b a.equals(b),比较的事两个对象的地址
36.jvm会调用finalize()(垃圾回收方法)
37.arrayList适用于查找,不适用于插入删除,linkedlist适用于修改数据,因为会有下标索引
38.Set存储和查找功能强大,但不是线程安全的,有两个或以上的方法要修改数据时职能通过代码保证同步,set的元素可以是null
39. TreeSet实现了排序
40.Hashcode\equals函数要加上才能比较两个对象内部的属性
public class A {private String par1;private String par2;public A(String par1, String par2) {super();this.par1 = par1;this.par2 = par2;}public String getPar1() {return par1;}public void setPar1(String par1) {this.par1 = par1;}public String getPar2() {return par2;}public void setPar2(String par2) {this.par2 = par2;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((par1 == null) ? 0 : par1.hashCode());result = prime * result + ((par2 == null) ? 0 : par2.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;A other = (A) obj;if (par1 == null) {if (other.par1 != null)return false;} else if (!par1.equals(other.par1))return false;if (par2 == null) {if (other.par2 != null)return false;} else if (!par2.equals(other.par2))return false;return true;}public static void main(String[] args) {A a1 = new A("qwe", "wer");A a2 = new A("qwe", "wer");System.out.println(a1.equals(a2));}}
true
如果不加hashcode函数,是会返回false的
阅读全文
0 0
- JAVA笔记(三)
- java笔记(三)
- java笔记(三)
- JAVA 笔记(三)
- java笔记(三)
- java笔记(三)
- Java学习笔记(三)
- java学习笔记(三)
- JAVA笔记(三)数据结构
- java学习笔记(三)
- Java学习笔记(三)
- Java学习笔记(三)
- java学习笔记(三)
- java笔记(三)--注解
- Java学习笔记(三)
- 《java语言程序设计》笔记(三)
- Java学习笔记(三)
- Java复习笔记(三)
- org.apache.shiro.authc.IncorrectCredentialsException 异常处理
- Date类练习题(17/09/24)
- Service Worker初体验
- 请定义一个交通工具(Vehicle)的类...
- android studio 项目的包名有红线但不影响运行决解方法
- java笔记(三)
- python 爬虫随笔2
- 【牛客 题库】指针与常量字符串
- Polynomial addition Operation using C++
- [LeetCode]557. Reverse Words in a String III
- CodeForces
- 'startup' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- Leetcode-Sprial Matrix II
- 服务器没空间的“外包”馊主意