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 ...
随机推荐
- 机房用ROS创建时间服务器
发现机房里的服务器时间老是不同步,虽然都设置为time-a.nist.gov和time-b.nist.gov,仍然有失败的概率.可能是因为国外服务器的缘故.所以打算在机房里创建一个时间服务器.正好RO ...
- php调用dll经验小结
最近做一个网站,需要频繁使用远程数据,数据接口已经做好.在做转换的时候遇到了性能上的问题:开始打算用php来实现转换,苦苦查了数天,都没有找到直接操作字节的方法.虽然可以使用 pack() 方法将各个 ...
- 配置mysql环境变量
配置mysql环境变量(非必要) 说明:给mysql配置环境变量后我们就可以在cmd里运行mysql(开启.停止等操作) 1. 和其实环境变量的配置方法一样,我们打开环境变量配置窗口(组合键win+P ...
- 温故而知新-strtok函数
温故而知新-strtok函数 记得之前没见过这个函数,是把字符串分割成更小的字符串 来个例子就是比较鲜明了 $string = "Hello world. Beautiful day tod ...
- 好记性不如烂笔头-linux学习笔记1
好记性不如烂笔头-linux学习笔记1 linux的文件系统有ext2,ext3,ext4,目前主流是ext4 linux主要用于服务器级别的操作系统,安装时需要至少2个分区 一个是交换分区,swap ...
- Python/Java读取TXT文件
JAVA: public static void readTextFile(String filePath) { try { String encoding = "GBK"; Fi ...
- apache 搭建PHP多站点
修改apache 配置文件:httpd.conf 1.默认 Listen 80端口 2.添加配置如下: <VirtualHost *:80> ServerAdmin admin@yii.c ...
- Haartraining 训练方法(这个样例真有用,能行)
目标检测方法最初由Paul Viola [Viola01]提出,并由Rainer Lienhart [Lienhart02]对这一方法进行了改善.该方法的基本步骤为: 首先,利用样本(大约几百幅样本图 ...
- 100 道 Linux 笔试题
1. cron 后台常驻程序 (daemon) 用于: A. 负责文件在网络中的共享 B. 管理打印子系统C. 跟踪管理系统信息和错误 D. 管理系统日常任务的调度 2. 在大多数Linux发行版本中 ...
- securecrt中使用上传下载sftp
securecrt中使用上传下载sftp SecureCRT这个工具自带了一个FTP,方便我们上传和下载,而且做的比较人性化,由于其基本命令和linux中基本命令大都相似,熟悉LINUX人能很容易 ...