VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • 面向对象的一些基本概念及应用

1:面向对象 

     面向对象的概念:

1)是基于面向对象的一种思想

2)将功能封装进对象,强调具备了功能的对象

3)面向对象时基于面向过程的

     面向对象特点:

1)面向对象就是一种常见的思想,符合人们的思考习惯;

2)面向对象的出现将复杂问题简单化

3)面向对象的出现,让执行者变成指挥者

     面向对象的三个特征:

封装,继承,多态

 

 2:成员变量和局部变量 

     成员变量和局部变量的区别:

1)定义位置的不同

a) 成员变量:定义在类内,方法外

b) 局部变量:定义在方法内

2)初始化值的不同

a) 成员变量:有默认初始化值

b) 局部变量:没有默认初始化值,必须进行初始化

3)存储位置的不同

a) 成员变量:存储在堆内存中

b) 局部变量:存储在栈内存中

4)使用的修饰符的差别

a) 成员变量:可以被各类修饰符修饰

b) 局部变量:只能被final修饰

5)生命周期不同

a) 成员变量:随着类的加载而加载,随着类的消失而消失

b) 局部变量:随着方法的使用而加载,随着方法的消失而消失

      成员变量的赋值方式:

1)直接在定义的时候

2)通过类名.成员变量名赋值

3)通过set方法赋值

4)通过构造函数对对象初始化时赋值

3:匿名对象

   格式:new 类名()

调用方式:new 类名().对象名();

特点:

1)只能使用一次

2)作为实参传递

代码体现:

class Student
{
    //成员变量
    public int age=10;
    public String name;//定义名字
    public void show()//建立一个函数用来显示年龄
    {
        System.out.println(age);
    }}

class AnonymityDemo 
{
    public static void main(String[] args) 
    {         
        Test t = new Test();//初始化
        //t.showStu(s);
        t.showStu(new Student());

/*调用函数并内置初始化,Student s=new Student();*/
  }}

class Test
{    //                    int    a
    public void showStu(Student s)//建立函数定义,实现功能;
    {
        s.show();//调用Student方法
}}

4:面向对象——封装

   封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式;

   封装的好处:

                 1)将变化隔离

                 2)便于使用

                 3)提高重用性

                 4)提高安全性

   封装的原则:将不需要对外提供的内容都隐藏起来,只提供公共的方法对其访问

5:关键字

Static关键字

作用:用于修饰成员(成员变量和成员方法)

被修饰后的特点:

1)随着类的加载而加载

2)优先于对象存在

3)可以直接被类名调用

4)被所有对象所共享

注意事项:

静态方法:

1)静态的方法只能被静态方法所调用

2)静态方法中不能有thissuper关键字(由于他优先于对象而存在)

3)只能使用静态变量

4)被static修饰的成员其实是一个类成员

a) 当这个类第一次加载的时候,就会对该类分配内存空间

b) 当该类被创建实例时,并不会对该类变量的拷贝,而是多个类的实例 

共享该变量,且所有对象都可以操作这块内存空间;

 用途:静态方法常常为应用程序中的其他类提供一些实用工具,在java的类库中

       大量的静态方法正是出于此目的而定义的  

 静态变量:

   1) 可以使用“类名.方法名”直接调用

2) 可以被类中所有方法使用(static与非static

3) 该类中的某一个对象修改了变量的值,其他所有该类对象中的对应值都会

  随之改变

4) 定义时初始化,或者通过静态代码块初始化

 静态变量与非静态变量的区别: 

1)两个变量的生命周期不同

成员变量:随着对象的创建而存在,随着对象的被收回而释放

静态变量:随着类的加载而存在,随着类的消失而消失

2)调用方式不同

成员变量:只能被对象调用

静态变量:可以被对象调用,也可以类名.静态变量调用

3)别名不同

成员变量:称为实例变量

静态变量:类变量

4)存储位置不同

成员变量:存储在堆内存的对象中,所以也叫对象的特有数据

静态变量:存储在方法区的静态区,对象的共享数据

private关键字 

1)是一个访问权限修饰符,表示私有意义。

2)用于修饰成员(成员变量和成员函数)

3)被私有化的成员只在本类中有效。

this关键字

特点

this关键字代表所属函数的所属对象的引用

   适用范围:

1) 局部变量隐藏全局变量之中

2) 构造函数中使用

super关键字

特点:代表父类内存空间的标识

适用范围:

1) 当子父类重名时区分

2) 子类要调用父类的构造方法

final关键字

1)final可以修饰类,方法,变量。
2final修饰的类不可以被继承
3final修饰的方法不能被覆盖或重写;
4final修饰变量时该变量是常量不能被赋值;
5final修饰的常量只能被赋值一次
6)内部类只能访问被final修饰的局部变量;

特点:
     1. 用final修饰的变量表示常量,只能被赋一次值,不能修改。
          final修饰的成员变量没有默认初始化值,需要显式初始化
          final修饰的基本类型变量:值不能被修改
          final修饰的引用类型变量(对象):对象地址不能被修改,对象内部

       的成员可以被修改
         被定义为final的对象引用只能指向唯一一个对象,不可以将它再指向其他对象,但是一个对象内部的 值却是可以改变的。
         final修饰的变量是一个常量,必须被赋值后才能使用。可以在定义时赋值,也可在构造方法中赋 值。(只要在构造方法结束前给赋值就OK。)
     2. 用final修饰的方法不能被子类的方法覆盖
     3. 用final修饰的类不能被继承,没有子类;
        final类不能被继承,因此final类的成员方法没有机会被覆盖,默认    都是final的。
      但是final类中的成员变量可以被定义为final或非final形式。
        在设计类时候,如果这个类不需要有子类,类的实现细节不允许改 变,那么就设计为final类。
     4final不能用来修饰构造方法。
    示例:
    3.
    public class Something {
       public int addOne(final int x) {
           return ++x;
       }
    }
    4.
    public class Something {
       public static void main(String[] args) {
           Other o = new Other();
           new Something().addOne(o);
       }
       public void addOne(final Other o) {  //o= 0x1234;
           o.i++;
       } }
staticfinal
    static final用来修饰成员变量和成员方法,可简单理解为“全局量”! 
    对于变量,表示一旦给值就不可修改,并且通过类名可以访问。 
    对于方法,表示不可覆盖,并且可以通过类名直接访问。。

Math关键字

 主要方法:Math.random


相关教程