最近在看java一方面的书籍,看到一个很奇怪的问题,java类中还可以再定义一个类,这种结构非常特殊!后来才发现我知识浅薄了,原来C#中也有内部类,之前都一直没有注意过这个语法结构!

使用内部类有这样几个好处: 

(1)抽象外部类的某一状态下的行为,隐藏实现,通过修改该内的访问修饰符,可以设置仅有外部类可以访问该类

(2)扩展了命名空间,可以将外部类的类名作为内部类的一个命名空间(这里只是相当于,但不是真正的命名空间)

(3)内部类可以当作外部类的一个扩展,可以活的更好的封装。

 上面的这些特点胡乱的总结了一下,可能有些词不达意,下面有些具体例子:

 

1.内部类的定义:

嵌套类:在一个类中定义另外一个类,主要分为静态嵌套类和非静态嵌套类(又称之为"内部类") 

内部类的定义结构:(1)在一个类中直接定义类(2)在一个方法中定义类(3)匿名内部类

 

2.外部类访问内部类

c# 中内部类的简单介绍   C#内部类
 1 namespace GameStatistical.Test.InnerClass
 2 {
 3     public class Person
 4     {
 5         public class Student
 6         {
 7             public static int age;
 8             internal static int height;
 9             private static string sex;
10 
11             public virtual void Show()
12             {
13                 Console.WriteLine("年龄:"+age);
14                 Console.WriteLine("身高:"+height);
15             }
16 
17             internal void Display()
18             {
19                 Console.WriteLine("internal");
20                 Console.WriteLine("年龄:" + age);
21                 Console.WriteLine("身高:" + height);
22             }
23         }
24 
25 
26         public void Show()
27         {
28             Student.age = 21;
29             Student.height = 75;
30             Student student = new Student();
31             student.Show();
32             student.Display();
33         }
34     }
35 }
c# 中内部类的简单介绍   C#内部类

相关文章:

  • 2021-09-30
  • 2021-09-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-28
  • 2021-09-03
  • 2021-08-12
  • 2021-05-15
  • 2022-12-23
  • 2021-11-09
相关资源
相似解决方案