JAVA SE 面向对象笔记

来源:互联网 发布:为什么淘宝没有金坷垃 编辑:程序博客网 时间:2024/06/08 23:41

纪念LINUX 课外网络小知识
网络小tips:
1、telnet www.xxx.com 80 (telnet 一种解析域名的服务 80默认端口)
2、发现不通 就ping www.xxx.com
3、ping不通 win下 tracert www.xxx.com
linux下 traceroute www.xxx.com

2016-8-21

几点注意:
①线程是一个程序里面不同的执行路径

②进程是一个静态的概念
事实上,进程在执行指的是进程里面主线程开始执行了


stack (栈) 存放局部变量

heap (堆) 存放new出来的东西

data segment(变量区) 静态变量和字符串变量

code segment (代码区) 存放代码

④在这里记录下Set和List 用迭代器遍历方法

//LIST        for(Iterator iter =list.iterator(); iter.hasNext();){            String str=(String )iter.next();            System.out.println(str);        }//SetSet keyset = mapmysql.keySet();for (Iterator iterator = keyset.iterator();iterator.hasNext();){            int key = (int) iterator.next();            int values = (int) mapmysql.get(key);        }

⑤读数据

//byte读取InputStream is =    xx.getInputStream(); byte[] buffer =new byte[1024];              int length = 0;                while (-1 != (length = is.read(buffer, 0, buffer.length))) {                    String str1 = new String(buffer, 0, length,"GBK");              }//scanner读取InputStream is =    xx.getInputStream();Scanner scanner = new Scanner(is);String str=scanner.nextLine();

⑥写数据(不用write写)

private PrintWriter pwrite=null;
pwrite= new PrintWriter(xx.getOutputStream());
pwrite.println(string);

assII码表

assII码表

assII码表

7月19号

1、命名规则:
a)类命名规则:首个字母大写,后面每个单词字母大写
b)方法命名规则:首个字母小写,后面每个单词字母大写
c)属性命名规则:首个字母小写,后面每个单词字母大写
2、静态代码块:静态代码块会第一时间运行,其次构造方法
3、常用异常类:NullPointerException(空指针异常)、ClassCastException(类转换异常)、IndexOutOfBoundsException(下标越界异常)。
4、逻辑运算符:短路

7月20号

1、封装
a)每个类都一个默认为空的构造方法

二、继承:
a)父类有的方法子类一定有,子类可以重写父类的方法
b)Java 是单继承的,意味着一个类只能从另一个类继承(被继承的类叫做父类,继承的类叫做子类),Java 中的继承使用 extends 关键字。
C)super 关键字:super 表示对父类对象的引用。
1、关于继承的 3 点:
a)父类有的,子类也有
b)父类没有的,子类可以增加
c)父类有的,子类可以改变
2、关于继承的注意事项
a)构造方法不能被继承
b)方法和属性可以被继承
c)子类的构造方法隐式地调用父类的不带参数的构造方法
d)当父类没有不带参数的构造方法时,子类需要使用 super 来显式地调用父类的构造方法,super 指的是对父类的引用
e) super 关键字必须是构造方法中的第一行语句。
三、多态:父类型的引用可以子类的对象

四、接口里面的方法不用实现,类里面的方法需要实现,抽象类里面的方法可实现可以不实现
五、静态变量或方法不能调用非静态变量或方法

7月21号

1、object是所有类的超类,所有类隐式调用object类
2、object类中equals方法的注意情况
自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true。
对称性:对于任何非空引用值 x 和 y,当且仅当 y.equals(x) 返回 true 时,x.equals(y) 才应返回 true。
传递性:对于任何非空引用值 x、y 和 z,如果 x.equals(y) 返回 true,并且 y.equals(z) 返回 true,那么 x.equals(z) 应返回 true。
一致性:对于任何非空引用值 x 和 y,多次调用 x.equals(y) 始终返回 true 或始终返回 false,前提是对象上 equals 比较中所用的信息没有被修改。
对于任何非空引用值 x,x.equals(null) 都应返回 false。

3、对于 String 类的 equals()方法来说,它是判断当前字符串与传进来的字符串的内容是否一致。

4、String s = “aaa”;(采用字面值方式赋值)

1)查找 String Pool 中是否存在“aaa”这个对象,如果不存在,则在 String Pool 中创建一个“aaa”对象,然后将 String Pool 中的这个“aaa”对象的地址返回来,赋给引用变量 s,这样 s 会指向 String Pool 中的这个“aaa”字符串对象

2)如果存在,则不创建任何对象,直接将 String Pool 中的这个“aaa”对象地址返回来,

赋给 s 引用。

5、 String s = new String(“aaa”);

1)首先在 String Pool 中查找有没有“aaa”这个字符串对象,如果有,则不在 String Pool 中再去创建“aaa”这个对象了,直接在堆中(heap)中创建一个“aaa”字符串对象,然后将堆中的这个“aaa”对象的地址返回来,赋给 s 引用,导致 s 指向了堆中创建的这个“aaa”字符串对象。

2)如果没有,则首先在 String Pool 中创建一个“aaa“对象,然后再在堆中(heap)创建一个”aaa“对象,然后将堆中的这个”aaa“对象的地址返回来,赋给 s 引用,导致 s 指向了堆中所创建的这个”aaa“对象。

6、java.lang包下面的类不用导入,其他包下面的类需要导入

7月22号

1、输入流和输出流的基准是程序。从程序往外输出叫输出流,从程序外输入叫输入流
2、常用流:文件流,字符流,字节流
3、处理乱码问题 String str = result.getBytes(“utf-8”);

可以查API查询I/O流的方法

这里写图片描述

这里写图片描述

7月25号

这里写图片描述

0 0