欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

JAVA,

来源: javaer 分享于  点击 28901 次 点评:163

JAVA,


常量

  语法 访问修饰符  const/readonly  数据类型 常量名=

枚举(它表示一组有限的值,对可能的值进行约束)

   string类型转换为枚举类型的值 语法:(枚举类)(Enum.Parse(typeof(枚举类),“string)

   定义一个枚举:

     public enum Genders

          {Male/Male=0,Female/Female=1} 

       stu.Genders=Genders.Male;

        int genderNum=(int)stu.Gender;//用于得到定义枚举时所指定的整形值

   枚举类型的值,都有一个相对应的整形值

结构

    结构的定义语法:访问修饰符 Struct 结构名

    和类相似,使用时不用new,定义结构时的数据字段不能赋初值,使用时必须为结构的成员赋初值 

    结构不可有显示默认构造函数、不能被继承,使用构造函数的方法时需要用new

结构和类的区别

 

结构

不同点

引用类型

值类型

可以被继承

不能被继承

可以有默认构造函数

不可以有默认构造函数

可以添加无参的构造函数

可以添加构造函数,但他们必须带参数

创建对象必须使用new

 

创建对象可以不用new

结构中给字段赋值是错误的

类中可以给字段赋值

相同点

都可以包括字段、方法

都可以实现接口

值类型和引用类型:

   值方式参数传递(基本类型传递) :值类型(不保留修改结果)  引用类型(可能保留修改)

   引用方式参数传递(ref传递):值类型(保留修改结果)  引用类型(保留修改结果)

   除了枚举和结构,基本数据类型,其他都是引用类型

索引器:

索引器的使用:

(1)       MyClass类中将学员属性的类型由数组属性Student[]改为Student对象

(2)       添加一个Student类并加入索引器,然后将它的访问方式重载,使用姓名进行访问

     Public Student this[int index]

     {

          Get{ return students[index];}

      }

     Public Student this[string name]

      {

       Get

          {

           Int i;  bool found=false;

           For(i=0; i<students.length; i++)

              {

             If(students[i].name==name)

               {

                 Found=true;  break;

}

}

If(found)

{

Return students[i];

}

Else

{

Return null;

}

           

}

      }

访问student对象时,可以通过学员的姓名访问,也可以通过索引访问

MyClass myClass=new MyClass”T01”;

myClass.Students[2].SaveHi();

myClass.Students[“周杰伦”].SayHi();

装箱和拆箱

值类型装换为引用类型的过程成为装箱   拆箱相反

装过箱的才可以拆

泛型和泛型集合

泛型集合必须实例化

List<T>存储的对象有sort()方法

      元素的访问:list对象[index]

      删除元素:RemoveAt(int index) Remove(对象名)、清空list  Clear()

     

Dictionary<k,v>

       元素的访问:dictionary对象[key]

       元素的属性:keysvalues

       检查集合中是否含有某key使用

       元素的添加:对象.Addstring ,对象);

       元素的删除:对象.Romove(key);

读写文件

       引入命名空间:system.Io;

        创建文件流

       FileStream myfs=new FileStream (文件路径,要进行的操作fileMode.,FileAccess.Writer

        创建读写器

        StreamWriter mysw=new StreamWriter (文件流对象)

         执行读写操作         读写器对象./ 方法

         关闭读写器             读写器对象.Close();

        关闭文件流              文件流对象.Close();

      文件流:

           FileMode枚举成员意义:

               Create(用指定的名称新建一个文件,如果文件存在,则修改旧文件)

               CreateNew(新建一个文件,如果存在,引发异常,提示文件已经存在)

               Open(打开一个文件,指定文件必须存在,否则会发生异常)

               OpenOrCreate(如果文件不存在,则用指定的名称新建一个文件并打开它)

 

Text文件的读写(不需要文件流)

                       创建读写器对象

                        StreamWriter/StreamReader   对象名

                           =new StreamWriter/StreamReader(路径);

                        读写操作                关闭读写器

文件和目录操作

File类(操作文件)

方法

说明

Exists(string path)

用于检查指定文件是否存在,该方法返回一个布尔值

Copy(string sourcefilepath,string destinationfilepath)

将指定路径的源文件的内容复制到目标文件中,如果目标文件不存在,则在指定路径中新建一个文件

Move(string sourcefilepath,string destinationfilepath)

将指定文件移动到一个新的路径

Delete(string path)

删除指定文件,如果指定的文件不存在,则不引发异常

Directory类(操作文件夹)

方法

说明

Exists(string path)

用于检查指定文件夹在磁盘上是否存在

Move(string sourcedirnamestring destdirname)

用于将文件或目录及其内容移动到新位置

Deletestring bool

删除指定目录,如果bool值为true,则删除子目录中的所有目录内容

 

静态类和非静态类

静态类

非静态类

static修饰

不用static修饰

只包含静态成员

可以包含静态成员

不可以包含实例成员

可以包含实例成员

使用类名调用静态成员

使用实例对象调用非静态成员

不能被实例

可以被实例

不能包含实例构造函数

包含实例构造函数

XMLTreeView

操作xml的对象属性和方法

对象

属性和方法

说明

xmlDocument

DocumentElement属性

获取根节点

ChildNodes

获取所有子节点

Load()

读取整个xml的结构

xmlNode

innerText属性

当前节点的值

Name

当前节点的名字

ChildNodes

当前节点的所有子节点

 

    xmlDocument myxml=new xmlDocument ();

     xml对象.loadxml文件路径);

     xmlNode foot=xml对象.DocumentElement;//获取xml的根节点

    TreeNode footNode=new TreeNode xml根节点);//定义TreeNode

    xml的根节点的ChildNodes 循环添加到treeView

 

 

继承(子类拥有父类公有属性或方法的过程)

Base关键字用于调用父类的属性、方法、构造函数等

继承具有:传递性、单根性、相对性

结构、密封类(被sealed修饰的类)不能被继承

多态(不同对象对于同一方法作出的不同响应)

 多态的实现有:方法重载、重写、虚方法

抽象类和抽象方法(相当于方法的定义)

      抽象方法是一个未实现的方法

       定义抽象方法的语法:

                访问修饰符 abstract 返回类型 方法();

      含有抽象方法的类为抽象类需在类名前加上abstract关键字

      抽象类不能是密封或静态的

      抽象类不可被实例化只能通过它的子类来实现该类的方法

      Public new void test(){//方法体}//new关键字的方法优先使用

      抽象方法必须在子类中重写

      抽象类对象只能由子类来创建

父类引用子类  指向对象

里氏替换原则:  子类对象可以赋给父类对象,父类不可替换子类对象  

重写语法:访问修饰符 override 返回类型 方法();

Is操作符和as操作符is用来判断类型,as用于类型转换

 虚方法(相当于默认方法

             语法:访问修饰符 virtual 返回值类型 方法(){//方法体}

             虚方法可在子类中重写

虚方法和抽象方法区别

虚方法

抽象方法

virtual修饰

abstract修饰

要有方法体,哪怕是个分号

不可有方法体

可以被子类override

必须被子类override

除了密封类外都可以写

只能在抽象类中

 

简单工厂设计模式    

根据参数不同,创建不同的产品

 

接口(用来规范类,对于继承单根性的延伸)

定义:

 访问修饰符 interface 接口名{ 各种成员的声明 }

Icomparable接口的int compareToobj value)方法用来比较当前实例与另一个对象的大小

Public int compareto(student other)

{

Return this.name.compareto(other.name);

}

 

泛型接口Icomparer<T> int CompareT xT y)方法用于比较两个对象的大小

 public intstudent x,student y

{ return x.age.compareto(y.age)}

方法若返回值<0   :则当前实例小于obj  >0则当前实例大于obj  =0 则等于obj

 

接口作为参数的意义:传入实现了接口的对象

接口作为返回值的意义:返回实现了接口的对象

用实现类创建接口的引用 接口成员默认访问修饰符public

序列化(将对象的状态存储到特定存储介质中的过程)和反序列化(将对象从存储介质中还原出来)

特性:其实是一个类,它的主要功能是对程序集中的元素,如类、字段、方法、属性添加描述性的信息

在类名前添加标记[Serializable]标明类是否可以序列化

序列化是将对象的状态存储到特定存储介质的过程

引入命名空间runtime.serialization.Formatters.Binary;

二进制格式化器binaryFormatter

将特定对象序列化到特定文件中

语法:public void serializa(Stream seralizetionStream,object graph)

反序列化将对象从文件中还原

语法:public object deserialize(文件流对象)

程序集和反射

编译好的.exe 文件称为 程序集,程序集时。Net框架应用程序的生成块,它包含编译好的代码逻辑单元

程序集的结构:

程序集清单

类型元数据

IL代码

资源

(1)       程序集清单主要功能:列举构成该程序集的文件

(2)       元数据:一种二进制信息,

(3)       MSIL 是微软中间代码,它时实现类型元数据的中间代码,二资源就是我们程序中的图片。音乐文件等

程序集能查看项目结构

反射(可以利用反射在运行时创建类型实例,以及调用和访问这些实例)可以获得已加载的程序集和在其中定义的类型的信息

4种访问修饰符

 

类内部

同一程序集的派生类

同一程序集的其他类

不同程序集的派生来

不同程序集的其它类

Private

可以

不可以

不可以

不可以

不可以

Protected

可以

可以

不可以

可以

不可以

Internal

可以

可以

可以

不可以

不可以

Public

可以

可以

可以

可以

可以

 

相关文章

    暂无相关文章
相关栏目:

用户点评