3 回答

TA貢獻1796條經(jīng)驗 獲得超4個贊
CLR公庫,所以有很多東西就遷移了;例如Public Private;這就是很簡單的共享和半隱蔽;
簡單的;也就是說
一個Public方法/變量是可以在Class之間互相調(diào)用的。
例如:
public class class1
Public Sub A()
end sub
end class
然后在另一個Class中:
class1.A()
即可調(diào)用;
但是如果是Private sub a.就有很多時候是無法調(diào)用的,但是Class內(nèi)部可以互相共享這個方法。
列個表---簡單的來說
最開放的:Public--跨類調(diào)用。
第二的: Friend/Shared--不可更改的跨類調(diào)用
比較封閉:Private--類中調(diào)用
更加封閉:Protected--類中不能調(diào)用,只能自己用。
再往后可能就是Override型,要重寫才能訪問。
廢話這么多了--說你的問題;
對非共享成員的引用要求對象引用
很明確的:你侵犯了主權..人家本來不讓你訪問,你偏偏從外部調(diào)用;那么你有兩個方法,第一;把你要調(diào)用東西改為Public ...
第二:你可以把這個Class實例化,變?yōu)樽约旱脑?;能夠看到?nèi)部變量/方法。
比如,class1里又一個Private sub a()
那么,你在Class2里調(diào)用:
dim x1 as new class1
x1.a()
即可

TA貢獻1712條經(jīng)驗 獲得超3個贊
給你舉個例子,
Class<Integer> cla;與Class<?> cl;
前一個表示cla只能指向Integer這種類型,而后一個cl表示可以指向任意類型。
cla = Integer.class 可以,但cla = Double.class就不可以。
但是cl = Integer.class 可以,cl = Double.class也可以 、
?是通配符。
添加回答
舉報