java语言-4:类和对象

        类较之传统过程性语言的模块还增加了访问控制的能力,可以利用关键字private(私有)、protected(保护)、public(公有)以及默认的friendly(友好)来修饰类、变量和方法,以限制它们在类与类之间可以被访问的范围。

/*访问权限是指对变量的读写和方法的执行权限,不同于上面对继承、重载所置的final限制*/            

 1、类的访问控制

              类仅可用public、final和abstract来修饰,不能使用private、protected进行修饰,否则编译器会给出提示错误。

如若用public来声明一个类,则表示该类可以被所有其它类使用,否则只可以被同一个包的类使用。其格式一般如下:

                                [public]  class ClassName{

                                    class_body;

                                        }

            2、变量的访问控制

(1) 私有变量private

                主要用于一些储存了重要数据的变量,并且仅供类中的函数使用。   主要目的是为了加强系统的安全性。其一般格式如下:

                    class A{

                            private int myvar;

}

(2)  保护变量protected

                        当程序用protected修饰后,该变量被成为保护变量,只允许被定义它的类、继承类(子类)和同一个包中的类进行访问。其一般格式为:

                                class A{

                                protected int myvar;

}

(3)  公有变量public

            当成员变量使用public修饰后,就变成公有变量,可以被任意类对其进行访问。其一般形式为:

                        class A{

                            public int myvar;

}

(4) 友好变量friendly

                此为Java的默认修饰符,若没有声明其它变量,则为friendly变量。可以被同包的类进行访问。其格式为:

                            class A{

                        int myvar;

}

3、方法的访问控制

            访问权限范围表

访问权限修饰符

该变量或方法可以被访问的范围
private同一个类
protected同一个类,子类
public任意类
friendly同一个包中的类
  

 

4、创建类的对象

对于类,只能用它来声明一个对象。例如Scanner scanner  (创建一个scanner对象):

            如:

                        Scanner scanner = new scanner(System.in);//需要用new操作该对象的实例

5、构建Java对象和类的构造函数

                在Java中创建类的对象,必须先声明该对象,然后通过new运算符来创建对象,实现对对象的内存分配。其一般格式为:

                ClassName(类名) obj_name(创建的对象名);

                        obj_name = new ClassName(argument list);

注意:类的构造函数对象的创建是很重要的,构造函数的名字必须与类名相同,而且构造函数不能带有返回值类型。

6、通过对象使用类的变量和方法

            创建对象的目的是为了使用类模块中定义的变量和函数。使用成员变量和成员函数的一般格式为:

                                objectname.variable;

                                objectname.method;

                /*如果不对类中的成员变量进行初始赋值,那么系统调用默认的构造函数进行初始化。数值类型的初始值为0;布尔型初始值为false。*/

7、Java对象的释放

            简单讲就是需要清除掉无用的内存块,而释放存储器内存。主要用于类中声明了指针类型的变量,则该类必须显示定义一个析构函数,否则,可能造成内存泄露。当然,非指针的对象释放完全可有编译器自动插入处理代码,是无需编写删除代码的。

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值