Java---语言类的特性

私有成员与公共成员

一、私有成员
在类的成员变量前面加上“private”,就不能被该类外部其他任何类访问,包括其子类。因此达到对数据最高级别保密的目的。
二、公共成员
在公共方法前面加上“piblic”,例如:public void setCylinder().私有成员才能得以被访问。
三、缺省访问控制符
如果在类成员的前面不加任何访问控制符,即具有缺省访问控制符的特性。
缺省访问控制符的特性:
这种缺省的访问控制权限规定只能被同一个包中的类访问和引用,不能被其他包中的类使用。子类若与父类不在一个包中,那么子类也不能访问父类中的缺省访问控制成员。

方法的重载&构造方法

四、方法重载
何为方法重载呢?
即在程序设计中,有些方法的含义相同,但带有不同的参数,这些方法使用使用相同的名字,这就叫方法的重载。

其中参数类型是关键,仅仅变量名不同是不行的。也就是说参数列表必须不同,即:或者参数个数不同,或者参数类型不同,或者参数的顺序不同。通过方法的重载,只需要一个方法名即能实现多个功能,非常方便。
说明:Java语言中不允许参数个数或参数类型完全相同,而只有返回值类型不同的重载。
五、构造方法
构造方法的性质:
1、构造方法的方法名与类名一致。
2、构造方法没有返回值,但不能用void。(这是因为一个类的构造方法的返回值就是该类本身)
3、构造方法的主要作用是完成对类的对象的初始化工作。
4、构造方法一般不能直接调用,而是通过new来调用,也就是说在定义类的对象时(需要new)就自 动调用了。
5、在创建一个类的对象的同时,系统会自动调用该类的构造方法为新对象初始化。

class Cylinder{
    private double radius;
    private int height;
    private double pi = 3.1415926535;
    public Cylinder(double r,int h){//定义有参数的构造方法,方法名与类名必须一致
        radius = r;
        height = h;
    }
    double area(){//有返回值
        return pi*radius*radius;
    }
    double volume(){
        return area()*height;
    }
}
public class wang04{
    public static void main(String[] args){
        Cylinder volu = new Cylinder(3.5,8);//调用有参构造方法的对象
        System.out.println("圆柱的底面积:"+volu.area());//注意:对象.成员方法()
        System.out.println("圆柱的体积是:"+volu.volume());
    }
}

六、默认构造方法
它没有参数,其方法体中也没有任何代码,即什么也不做。(我们最开始的时候用的就是它了)
七、在一个构造方法内调用另一个构造方法
1、在一个构造方法内调用另一个构造方法时,必须使用this()语句来调用,否则报错。
2、this()语句必须写在构造方法内的首行位置。

class Cylinder{                                                         
    private double radius;                                              
    private int height;                                                 
    private double pi = 3.1415926535;                                   
    String color;                                                       
    public Cylinder(){//定义有参数的构造方法,方法名与类名必须一致                           
        this(2.5,5,"红色"); //调用另一种构造方法                                   
    }                                                                   
    public Cylinder(double r,int h,String str){                         
        radius = r;                                                     
        height = h;                                                     
        color = str;                                                    
    }                                                                   
    public void show(){                                                 
        System.out.println("圆柱的底面积:"+area());//对象.成员方法()                
        System.out.println("圆柱的体积是:"+volume());                         
        System.out.println("圆柱的颜色是:"+color);                            
    }                                                                   
    double area(){//有返回值                                                
        return pi*radius*radius;                                        
    }                                                                   
    double volume(){                                                    
        return area()*height;                                           
    }                                                                   
}                                                                       
public class wang04{                                                    
    public static void main(String[] args){                             
        Cylinder volu = new Cylinder();//调用有参构造方法的对象                    
                                                                        
    }                                                                   
}                                                                       
                                                                        

静态变量

七、static
1、静态变量又被称之为“类变量”,字面理解即隶属于类的变量而不属于任何一个类的具体对象。 也就是说,对于该类的任何一个具体对象而言,静态变量是一个公共的存储单元,而不是保存在某个具体 对象的储存空间中。就是“公用”的意思。
2、静态方法,即类方法。类方法只能调用类成员,虽然不能直接访问非静态成员,但是可以通过创 建对象的方法间接的访问非静态成员,对于静态方法的调用建议使用:“类名.类方法名;”的形式来 访问。
当然与静态成员、静态方法相反的有实例成员、实例方法。它们有属于自己的独立的空间,当其中一个变量被更改时,另一个变量不受到影响。(在开始的学习中一直用的都是实例成员、实例方法)
八、静态初始化器
静态初始化器是对类自身的初始化,在类被加载如内存时只执行一次,与创建多少对象无关。若有多个静态初始化器,则他们在类的初始化时会依次执行。
格式:
static
{

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值