java复习小知识(基础不算,有反射,递归)

顺序选择循环,三种
1、至于循环和递归
循环效率更高,但是递归在处理文件递归的时候更为常见快捷
在java中实现传多参
2、public static void main(String[] args)
即数组就是传多参
在scala中用的*符号
def fun4(elements :Int*)={}
3、
1多态(polymorphism)的定义
多态是面向对象的必备特性,
指的是同一接口的不同实现方式,多态允许基类的指针指向子类方法。
在C++中通过虚函数实现。
2多态的作用
1 不必编写每一子类的功能调用,可以直接把不同子类当父类看,
屏蔽子类间的差异,提高代码的通用率/复用率
2 父类引用可以调用不同子类的功能,提高了代码的扩充性和可维护性

4、在针对io流时,字符流速度快,但是有的非明文文件,无法用字符解析
这时候用字节流(要捕获异常)


5、下面的构造方法和静态方法,可以参考上一步的构造时顺序(static在类编译时已经加载)






https://www.cnblogs.com/Essence/p/3961857.html






递归查出文件



以及文件过滤

递归删除

反射
package day1207; import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier; public class Refactor {
public static void main(String[] args) {
try {
Class c=Class.forName("day1207.Demo");//映射一个类,反射
// Field[] fields=c.getDeclaredFields();//可以访问所有字段声明
// for (Field f:fields){//分别访问:字段类型、字段名、字段修饰符
// System.out.println(f.getType()+" "+f.getName()+" "+Modifier.toString(f.getModifiers()));
// }
// Field[] fields1=c.getFields();//只能非私有的访问字段
// for (Field f:fields1){
// System.out.println(f.getType()+" "+f.getName());
// }
//Method[] methods=c.getMethods();//全部的方法包括父类
Method[]methods1=c.getDeclaredMethods();//全部方法,不包括父类
// for (Method m:methods){
// System.out.println(Modifier.toString(m.getModifiers())+" "+m.getName()+""+m.getGenericReturnType());
// }
for (Method m:methods1){//分别拿到:方法访问修饰符、方法名、方法类型
System.out.println(Modifier.toString(m.getModifiers())+" "+m.getName()+" "+m.getGenericReturnType());
}
try {
Demo d=(Demo)c.newInstance();//映射一个类的对象,但是拿不到静态和私有
Demo d2=new Demo();
d.setAcccount("s");
d.setName("张三");
System.out.println(d.getName()+" "+d.getAcccount());
String account="456";
String name="李四";
Method method=c.getMethod("setAcccount", String.class);
//用invoke方法,使用反射给类的对象注值
method.invoke(d,account);
method=c.getMethod("setName", String.class);
method.invoke(d2,name);
//javaoop面向对象aop面向切面
System.out.println(d2.getName());
System.out.println(d.getAcccount());
method=c.getMethod("getName");
System.out.println(method.getName());
} catch (InstantiationException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
java复习小知识(基础不算,有反射,递归)的更多相关文章
- java集合小知识的复习
*Map接口 Map<k,v>接口中接收两个泛型,key和value的两个数据类型 Map中的集合中的元素都是成对存在的每个元素由键与值两部分组成,通过键可以找对所对应的值.值可以重复,键 ...
- Java~时间戳小知识
大叔对java时间戳使用的总结 Java里的Date对象有方法setTime,主要是将一个时间戳转成一个日期对象,而这个时间戳的标准是unix标准,即当前时间与1970/1/1相差的毫秒数,记得是毫秒 ...
- Java入门小知识
软件开发什么是软件? 一系列按照特定顺序组织的计算机数据和指令的集合什么是开发? 制作软件 人机交互 软件的出现实现了人与计算机之间的更好的交互交互方式 图形化界面:这种方式简单直观,使用者 ...
- java算法小知识练习(二)
话不多说,直接上题: 题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单. 有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比,请编程序 ...
- java算法小知识练习
偶尔翻开了以前的练习题,不自觉又想随手敲一遍,虽然有些思想依然是那么老套,但毕竟也算是对知识的巩固 了. 一.题目:有1.2.3.4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 具体 ...
- Java Interger小知识
Integer装箱与拆箱 装箱: Integer i = 10; 相当于:Integer i = Integer.valueOf(10); 拆箱: Integer i = 10; //装箱 int t ...
- Java基础小知识(一)
序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...
- Java学习之旅基础知识篇:数据类型及流程控制
经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...
- 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...
随机推荐
- SQL相关简单游标
BEGIN TRY Create Table #Temp_Table_Record_Stat ( .... ) DECLARE table_Cursor CURSOR FOR SELECT objec ...
- 02 - Unit06:弹出对话框
弹出对话框 如何实现弹出 //弹出出对话框 $("#can").load("alert/alert_notebook.html"); //显示背景色 $(&qu ...
- Qt添加库文件和头文件目录(QCreator)
在使用QtCreator开发图像处理程序的时候想加入Opencv库来处理图形,添加头文件,需要编辑工程文件夹下的.pro文件在文件中添加以下内容,即可包含头文件的文件夹: INCLUDEPATH += ...
- 关于ROS的MANGLE和ip route-rules-lookup的关系和区别
mangle打出来的mark routing的优先级和lookup打出来的优先级是一样的.(你可以这么理解,lookup根据目的地址打出来的标签,其实跟在ip firewall-mangle打出来的是 ...
- php去除换行符的方法小结(PHP_EOL变量的使用)
本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r.因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用 ...
- pythonNetday06
进程 Process(target,name,args,kwargs) p.pid : 创建的新的进程的PID号 p.is_alive() 判断进程是否处于alive状态 p.daemon = Tru ...
- fadora24安装settools,pip包出错解决方法
1.fadora24安装Python2.7 [root@dev ~]# python bash: python: 未找到命令... 安装软件包“python”以提供命令“python”? [N/y] ...
- django-DIL模板自定义过滤器,自定义标签,自定义包含标签
自定义过滤器 DTL模板语言生来只是为了方便的展示信息,所以与编程语言相比显得有点薄弱,有时候不能满足我们的需求.因此django提供了一个接口,让开发者能自定义标签和过滤器. 首先,你需要添加一个t ...
- FoxPro 游标指针操作
查询上一记录skip -1 *相对定位 指针向上移动一条记录if bof() *测试当前记录指针是否超出第一条记录 go top *绝对定位表的第一条记录endifthisform.refresh ...
- linux 正则表达式
redis-cli INFO|tr -d '\r'|egrep -v '^(#.*)?$'|sed -E 's/^([^:]*):(.*)$/redisInfo[\1]="\2"/ ...