在java中我尝试运行下面这段代码:publicclassjj{publicstaticvoidmain(String[]args){tomtj=newtom();floata=tj.weight;floatb=tj.f(18,17);System.out.println(a+"&"+b);}}classtom...
在java中我尝试运行下面这段代码: public class jj { public static void main(String[] args) { tom tj=new tom(); float a=tj.weight; float b=tj.f(18,17); System.out.println(a+"&"+b); } } class tom{ float weight=19; float f(float a,float b){ return a+b; } } 可以运行成功,生成结果的。 可是在同样是面向对象的c#中,运行一段相类似的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { tom tj = new tom(); float a = tj.weight; float b = tj.f(18,17); Console.Write(a+"&"+b); } } class tom { float weight=19; float f(float a, float b) { return a + b; } } } 结果编译器报错,说不能访问,因为变量受保护。 我查阅相关书本,说JAVA将其视为友好变量和方法,而C#将未加访问修饰符的视为private的。 我的疑惑是:1.如果不加访问修饰符,再JAVA中不同地方的变量和方法怎么看待的? 2.C#中是否有友好变量和友好方法这一说法
展开