顺序选择循环,三种

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复习小知识(基础不算,有反射,递归)的更多相关文章

  1. java集合小知识的复习

    *Map接口 Map<k,v>接口中接收两个泛型,key和value的两个数据类型 Map中的集合中的元素都是成对存在的每个元素由键与值两部分组成,通过键可以找对所对应的值.值可以重复,键 ...

  2. Java~时间戳小知识

    大叔对java时间戳使用的总结 Java里的Date对象有方法setTime,主要是将一个时间戳转成一个日期对象,而这个时间戳的标准是unix标准,即当前时间与1970/1/1相差的毫秒数,记得是毫秒 ...

  3. Java入门小知识

    软件开发什么是软件?  一系列按照特定顺序组织的计算机数据和指令的集合什么是开发?  制作软件 人机交互  软件的出现实现了人与计算机之间的更好的交互交互方式   图形化界面:这种方式简单直观,使用者 ...

  4. java算法小知识练习(二)

    话不多说,直接上题: 题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.   有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比,请编程序 ...

  5. java算法小知识练习

    偶尔翻开了以前的练习题,不自觉又想随手敲一遍,虽然有些思想依然是那么老套,但毕竟也算是对知识的巩固 了. 一.题目:有1.2.3.4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 具体 ...

  6. Java Interger小知识

    Integer装箱与拆箱 装箱: Integer i = 10; 相当于:Integer i = Integer.valueOf(10); 拆箱: Integer i = 10; //装箱 int t ...

  7. Java基础小知识(一)

     序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...

  8. Java学习之旅基础知识篇:数据类型及流程控制

    经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...

  9. 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承

    <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...

随机推荐

  1. opensuse下配置IP、DNS、GATEWAY

    本人物理主机IP描述 IPv4 地址 . . . . . . . . . . . . : 192.168.1.101(首选)子网掩码  . . . . . . . . . . . . : 255.25 ...

  2. xmlns:app

    Android自定义控件的属性,网上文章已经很多,之前看了也照着写了,其中有一个就是要自定义一个xml的命名空间后然后再给自定义属性赋值,后来发现不知道什么时候开始Android把这个改了,统一用 x ...

  3. 精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #4 如何使用Git

    HACK #4 如何使用Git 本节介绍Git的使用方法.Git是Linux内核等众多OSS(Open Source Software,开源软件)开发中所使用的SCM(Source Code Mana ...

  4. 使用pandas时遇到ValueError: numpy.dtype has the wrong size, try recompiling

    [问题]使用pandas时遇到ValueError: numpy.dtype has the wrong size, try recompiling [原因] 这是因为 Python 包的版本问题,例 ...

  5. [RHEL7.1]关闭防火墙及SElinux

    一.关闭防火墙 1. 先查看防火墙状态 [root@bogon ~]# 1 systemctl status firewalld firewalld.service - firewalld - dyn ...

  6. Cmder的安装

    Cmder把conemu,git-for-windows和clink打包在一起,让你无需配置就能使用一个真正干净的Linux终端!性感的外观,强大的功能!代替了Windows原生的Cmd 1. 安裝 ...

  7. 由python的math.log想到的问题

    result = math.log(243,3) print(result) 输出5.0 print("%f"%result) 还是输出5.0 看出问题了吗?对,没错.int(5. ...

  8. mybatis 1 - 获取自增ID

    1.环境: mybatis : 3.2.3 spring-mybatis:  1.2.1 mysql:5.5.29 实体: public class sys_user { private int us ...

  9. 「小程序JAVA实战」小程序的横向视频和页面拦截(59)

    转自:https://idig8.com/2018/09/24/xiaochengxujavashizhanxiaochengxudehengxiangshipinheyemianlanjie58/ ...

  10. notepad++ 行首行尾添加字符

    有一次要处理SQL,拿到了脚本.但是要将其写入java 代码中,要在行首和行尾添加上引号.利用notepad++进行编辑. $表示行尾,^表示行首. 如上图,就这样.很高效. 如果只是在行尾添加字符, ...