会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132431个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2821楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 2823楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2824楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 2825楼

com.baizhanjava.lang.reflect.MethodTest2 {
    (String[] args)  {
        {


            Class c = Class.()Users users = (Users) c.newInstance()reflectStart = System.()Method method = c.getMethod(String.)(i = i < i++) {
                method.invoke(users)}
            reEnd = System.()System..println()start = System.()Users u = Users()(i = i < i++) {
                u.setUsername()}
            end = System.()System..println(+ (reEnd - reflectStart))System..println(+ (end - start))}(Exception e){
            e.printStackTrace()}
    }
}

java.lang.IllegalArgumentException: wrong number of arguments

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at com.baizhan.Test2.main(Test2.java:16)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131)


JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 2827楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2828楼

老师好,下面代码中第27行,第行,不太理解这个地方for循环的用法,麻烦老师解释一下

package com.ljk.fs;


import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class Test {
    public static void main(String[] args) throws ClassNotFoundException {
        String path="com.ljk.fs.User";
        //(1)获取类的名称
        Class c=Class.forName(path);
        System.out.println("类的全名称:"+c.getName());
        System.out.println("类的名称:"+c.getSimpleName());

        //获取父类的Class对象
        Class cSuper=c.getSuperclass();
        System.out.println(cSuper.getName());
        System.out.println(cSuper.getSimpleName());

        //(2)获取类的属性信息
        //Field f=c.getField("userId"); //只能获取公共的属性
        //System.out.println(f);
        Field[] fields=c.getFields(); //只能获取公共的属性
        System.out.println(fields.length);

        Field [] fields2=c.getDeclaredFields();
        //System.out.println(fields2.length);
        for (Field field : fields2) {
            //System.out.println(field);//调用了toString()方法
            System.out.println(field.getModifiers()+"\t"+field.getType()+"\t"+field.getName());
        }

        //(3)获取类的方法信息
        Method[] methods=c.getDeclaredMethods(); //本类中的公共的方法对象
        System.out.println(methods.length);

        for (Method method : methods) {
            //System.out.println(method);
            System.out.println("访问权限" + method.getModifiers());
            System.out.println("返回值类型:" + method.getReturnType());
            System.out.println("方法的名称:" + method.getName());
        }


    }
}


JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 2831楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 2832楼

这是什么原因?

图像.png

图像.png

package TCP通信.项目;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

class Send extends Thread{
    private Socket socket;

    public Send( Socket socket ) {
        this.socket = socket;
    }

    @Override
    public void run( ) {
        this.sendMsg();
    }
    private void sendMsg(){
        try( Scanner sc = new Scanner(System.in)){

            PrintWriter pw=new PrintWriter(socket.getOutputStream());
            while ( true ){
                String msg=sc.next();
                pw.println(msg);
                pw.flush();
            }
        }  catch ( Exception e ) {
            e.printStackTrace();
        }
    }
}
class Recevie extends Thread{
    private Socket socket;

    public Recevie( Socket socket ) {
        this.socket = socket;
    }

    @Override
    public void run( ) {
        this.recevieMsg();
    }
    public void recevieMsg(){
        try( BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()))){
            while ( true ){
                String msg=br.readLine();
                System.out.println("他说"+msg );

            }

        }  catch ( Exception e ) {
            e.printStackTrace();
        }
    }
}
public class ChatSocketServer {
    public static void main( String[] args ) {
     try(ServerSocket serverSocket = new ServerSocket(8888);){
         System.out.println( "服务器已启动,等待监听............" );
         Socket socket=serverSocket.accept();
         System.out.println("连接成功!" );

         new Send( socket ).start();
         new Recevie( socket ).start();
     }  catch ( Exception e ) {
         e.printStackTrace();
     }
    }
}
.............................................................
package TCP通信.项目;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

class ClientSend extends Thread{
    private Socket socket;

    public ClientSend( Socket socket ) {
        this.socket = socket;
    }

    @Override
    public void run( ) {
        this.sendMsg();
    }
    private void sendMsg(){
        try( Scanner sc=new Scanner(System.in);
             PrintWriter pw = new PrintWriter(socket.getOutputStream());){
            while ( true ){
                String msg = sc.next();
                pw.println(msg);
                pw.flush();
            }

        }catch( Exception e ){
            e.printStackTrace();
        }
    }
}


class ClientReceive extends Thread{
    private Socket socket;

    public ClientReceive( Socket socket ) {
        this.socket = socket;
    }

    @Override
    public void run( ) {
        super.run( );
    }
    private void receiveMsg(){
        try( BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()))){
            while ( true ){
                String msg=br.readLine();
                System.out.println("他说:"+msg );

            }

        }  catch ( Exception e ) {
            e.printStackTrace();
        }
    }
}
public class ChatSocketClient {
    public static void main( String[] args ) {
        try{
            Socket socket = new Socket("127.0.0.1", 8888);
            System.out.println("连接成功" );
            new ClientSend( socket ).start();
            new ClientReceive( socket ).start();
        }catch (Exception e ){
            e.printStackTrace();
        }
    }
}


JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程 2835楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637