[416] 2021-07-27_javassist使用

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-16
2021-07-27_javassist使用 j a v a s s i s t 使 a l u m m 0 x   a l u m m 0 x   2 0 2 1 - 0 7 - 2 7   # J a v a   , 2 5 J a v a s s i s t       J a v a   使 使 p o m j a r < d e p e n d e n c y >           < g r o u p I d > o r g . j a v a s s i s t < / g r o u p I d >           < a r t i f a c t I d > j a v a s s i s t < / a r t i f a c t I d >           < v e r s i o n > 3 . 2 3 . 1 - G A < / v e r s i o n > < / d e p e n d e n c y > p a c k a g e   j a v a a s s i s t ; i m p o r t   j a v a s s i s t . * ; i m p o r t   j a v a . i o . I O E x c e p t i o n ; p u b l i c   c l a s s   J a v a s s i s t _ t e s t   {       p u b l i c   s t a t i c   v o i d   m a i n ( S t r i n g [ ]   a a r g s )   t h r o w s   N o t F o u n d E x c e p t i o n ,   C a n n o t C o m p i l e E x c e p t i o n ,   I O E x c e p t i o n   {               C l a s s P o o l   p o o l   =   C l a s s P o o l . g e t D e f a u l t ( ) ;               / /   1               C t C l a s s   c t C l a s s   =   p o o l . m a k e C l a s s ( " U s e r " ) ;               / /   2 S t r i n g   n a m e               C t F i e l d   f i e l d 1   =   n e w   C t F i e l d ( p o o l . g e t ( " j a v a . l a n g . S t r i n g " ) ,   " n a m e " ,   c t C l a s s ) ;               / /   2 . 1 访 p r i v a t e               f i e l d 1 . s e t M o d i f i e r s ( M o d i f i e r . P R I V A T E ) ;               / /   3 x i a o m i n g               c t C l a s s . a d d F i e l d ( f i e l d 1 ,   C t F i e l d . I n i t i a l i z e r . c o n s t a n t ( " x i a o m i n g " ) ) ;               / /   4 g e t t e r / s e t t e r               c t C l a s s . a d d M e t h o d ( C t N e w M e t h o d . s e t t e r ( " s e t N a m e " ,   f i e l d 1 ) ) ;               c t C l a s s . a d d M e t h o d ( C t N e w M e t h o d . g e t t e r ( " g e t N a m e " ,   f i e l d 1 ) ) ;               / /   5               C t C o n s t r u c t o r   c o n s   =   n e w   C t C o n s t r u c t o r ( n e w   C t C l a s s [ ] { } ,   c t C l a s s ) ;               / /   t h i s . n a m e               c o n s . s e t B o d y ( " { n a m e   =   " x i a o h o n g " ; } " ) ;               c t C l a s s . a d d C o n s t r u c t o r ( c o n s ) ;               / /   6 p r i n t N a m e               C t M e t h o d   c t M e t h o d   =   n e w   C t M e t h o d ( C t C l a s s . v o i d T y p e ,   " p r i n t N a m e " ,   n e w   C t C l a s s [ ] { } ,   c t C l a s s ) ;               c t M e t h o d . s e t M o d i f i e r s ( M o d i f i e r . P U B L I C ) ;               c t M e t h o d . s e t B o d y ( " { S y s t e m . o u t . p r i n t l n ( n a m e ) ; } " ) ;               c t C l a s s . a d d M e t h o d ( c t M e t h o d ) ;               / /   7 c l a s s               c t C l a s s . w r i t e F i l e ( " D : c o d e t e s r t s r c m a i n j a v a j a v a a s s i s t " ) ;     }
} c l a s s / / / /   S o u r c e   c o d e   r e c r e a t e d   f r o m   a   . c l a s s   f i l e   b y   I n t e l l i J   I D E A / /   ( p o w e r e d   b y   F e r n F l o w e r   d e c o m p i l e r ) / / p u b l i c   c l a s s   U s e r   {               p r i v a t e   S t r i n g   n a m e   =   " x i a o m i n g " ;               p u b l i c   v o i d   s e t N a m e ( S t r i n g   v a r 1 )   {                               t h i s . n a m e   =   v a r 1 ;             }               p u b l i c   S t r i n g   g e t N a m e ( )   {                               r e t u r n   t h i s . n a m e ;             }               p u b l i c   U s e r ( )   {                               t h i s . n a m e   =   " x i a o h o n g " ;             }               p u b l i c   v o i d   p r i n t N a m e ( )   {                               S y s t e m . o u t . p r i n t l n ( t h i s . n a m e ) ;             } } 使 h t t p s : / / w w w . c n b l o g s . c o m / r i c k i y a n g / p / 1 1 3 3 6 2 6 8 . h t m l
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则