java和golang_Java反射与Golang反射简单对比

0x00 前言

前段时间学习了golang的基础语法,发现其反射的概念与Java的差别挺大,做个简单对比,记录一下。 为了测试Java反射,创建如下User类:

public class User {

public String username;

private String password;

public User() {}

public User(String username, String password) {

this.username = username;

this.password = password;

}

public void publicMethod() {

System.out.println("publicMethod is running ...");

}

private void privateMethod() {

System.out.println("private is running ...");

}

}

按照上面的User类,创建如下Golang结构:

type User struct {

Username string

password string

}

func (u User) PublicMethod() {

fmt.Println("PublicMethod is running ... ")

}

func (u User) privateMethod() {

fmt.Println("privateMethod is running ...")

}

0x01 操作公有字段

1.1 Java反射操作公有字段

Java操作User类的公有字段username时,有如下几步: 1、获取User类的Class对象 2、获取username字段对应的Field对象 3、通过Field对象操作指定User对象的username字段值

public static void main(String[] args) throws Excepti

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值