自己关于java的一些知识点的笔记

1.声明的受限定的类型参数和传的一般的父类的参数的区别是
      ①public void ddd(Number num);是把传过来的参数转换成Number类,如果是子类
Integer的话,会向上转型成为Number类
public <T extends Number>void ddd(T t);如果传进来的参数是
Integer的话,不会向上转型成为Number类
      ②extends的后面可以是接口,可以是类,也就是说可以限定T
        是一种什么或者实现了特定接口的类型
2.T类型,除了赋值和返回,T类型怎么做其他操作呢?(用强制类型转换)
3.复写父类方法却又要用到父类的这个方法,用super.方法名();
  覆盖需要和父类函数一模一样,返回值如果不一样就会出错 
生物为什么分男女?
接口
作用:
   做软件时(设计和面向接口编程),给用户用时,实现“多继承”
语法细节:


   接口中只能包含有常量、方法签名和嵌套类


   接口访问修饰符只能是public或默认
   常量默认是public static final
   方法默认是public abstract
用iterator删除某个元素的时候不能边输出边删除,因为判断和输出都要调用iterator.next();
要删除iterator,前必须调用iterator.next();
int = char
int[] = char[] cuo
String类型不可变,返回改变的对象,相对的是StringBuilder


?运行结果清空了文件
FileInputStream in = new FileInputStream("D:/123.txt");
            FileOutputStream out = new FileOutputStream("D:/123.txt");
            while(in.available()>0){
                out.write(in.read());
如果不是一个字节一个字节读的话,可能打印出别的东西,比如空格,或者以前存过的数据
read()=>read(byte[])作用
+bufferedread 作用


byte[] buffer = new byte[1024];
int length;
//拷贝文件
while((length = in.read(buffer)) > 0){
out.write(buffer,0,length);
}


网络编程
1.数据发送方 如果用的是字节流或者字符流都没事
2.接收方如果用的事字节流接收,而接收时又需要用到字节数组,当字节数组不够长,正好把一个汉字分开传送的话,就出
  现乱码,而如果用InputStreamReader(),把传送过来的数据转成字符流的话就不用定义数组什么的了,就不会乱码


  Socket 只有getInputStream和getOutputStream 当需要用到字符流的时候(比如接收数据时,通过InputStreamReader把字节流转成字符流,就可以用
  字符流的方法,println来输出一行数据,而不用必须用字节数组接收和操作,数组操作不方便,比如数组小的时候可能正好把一个字符拆成乱码,每次还要
  注意,到最后,清空字节数组,以防止,最后接收的字节数组不够充满数组而产生多余的数据)


3.输入字节流===>输入字符流   InputStream(FileInputStream  BufferedInputStream)==InputStreamReader==>Reader(FileReader BufferedReader)
  输出字节流===>输出字符流   OutputStream(FileOutputStream BufferedOutputStream)==OutputStreamWriter==>Writer(FileWriter BufferedWriter);
   为了传送输出数据方便经常用 OutputStream====>PrintWriter();因为PrintWriter有println方法,方便处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值