几点容易忽视的地方(001)

1   如果静态方法调用普通方法的时候,只能重新创建一个对象,而不能直接调用;静态成员不能直接访问非静态成员;

比如说: 

public class Test

{

     pubic  void info()

     {

        System.out.println("我是一个简单的方法!");

     }

    //主函数是静态函数

    public  static  void   main(String[]  args)

     {

        //错误的调用方法

         info();

         //正确的调用方法

         new  Test().info();

     }

}

//所有的静态方法访问另一个普通方法的话  都要创建一个对象

2  this关键字的引用

java提供了一个this关键字,this关键字是一个对象的默认引用,它总是指向调用该方法的对象,this作为默认的引用有两种情形:

a   构造器中引用该构造器执行初始化的对象;

b   在方法中引用调用该方法的对象;

注意:static 修饰的方法不能使用this引用;

          在构造器中使用this引用时,this总是引用该构造器正在初始化的对象;

          和普通方法类似,在构造器中访问其他属性和方法时,大部分情况可以省略this  ;  但是,构造器中有一个与属性同名的局部变量,又必须在构造器中访问这个被覆盖的属性,则必须使用this前缀。 

3  抽象类的运用

    为什么要使用抽象类呢?因为某些父类只知道子类包含什么样的方法,却不知道怎样实现这些方法。这种情况下,就要用到抽象类了。抽象方法和抽象类的规则如下:

a  抽象类和抽象方法必须使用abstract修饰符来修饰,且抽象方法不能有方法体;

b  抽象类不能被实例化,无法使用new关键字调用抽象类的构造器来创建实例,抽象方法必须包含在抽象类里边,但是抽象类里边可以没有抽象方法;

c  抽象类里可以包含属性,方法(抽象方法或是普通方法),初始化块,构造器,内部类,枚举类,抽象类的构造器不能用来创建实例,只能被子类调用;

注意:定义抽象方法,只需在普通方法上增加abstract修饰符,然后去掉方法体和大括号,然后在小括号后边加上分号就可以了;定义抽象类,只需在普通类上增加abstract就可以了。

优势:利用抽象类和抽象法,我们可以更好地发挥多态的优势,继而让程序更加灵活!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值