11.26 抽象类 this

抽象类  关键字 abstract

1、抽象类继承子类里面会有明确的方法重写要求,而普通类没有。

2、抽象类之比普通类多了一些抽象方法的定义,其他组成部分与普通类完全一样。

3、普通类对象可以直接实例化,但是抽象类的对象必须向上转型之后才可以实例化(运用到多态性)。

abstract class A {                 // 定义一个抽象类,使用abstract声明
    public void fun() {             // 普通方法
        System.out.println("存在有方法体的方法!");
    }
    // 此方法并没有方法体的声明,并且存在abstract关键字,表示抽象方法
    public abstract void print();
}
class B extends A{
     public void print(){
     //必须在子类中重写抽象父类中的抽象方法   
    };
}        

 

 

this关键字

this.属性表示的是本类属性这样即使与方法中的参数重名也可以明确定位

 

class Book {
    private String title;
    private double price;
    public Book(String title, double price) {
        this.title = title;    // this.属性表示的是本类属性,这样即使与方法中的参数重名也可以明确定位
        this.price = price;    // this.属性表示的是本类属性,这样即使与方法中的参数重名也可以明确定位
    }
    // setter、getter略
    public String getInfo() {
        return "书名:" + title + ",价格:" + price;
    }
}
public class TestDemo {
    public static void main(String args[]) {
        Book book = new Book("一千零一夜", 99.9);
        System.out.println(book.getInfo());
    }
}

 

 

 

直接输出对象

class Book {
    public void print() {    // 调用print()方法的对象就是当前对象,this就自动与此对象指向同一块内存地址
        System.out.println("this = " + this);    // this就是当前调用方法的对象
    }
}
public class TestDemo {
    public static void main(String args[]) {
        Book booka = new Book();            // 实例化新的Book类对象
        System.out.println("booka = " + booka);    // 主方法中输出Book类对象
        booka.print();                    // 调用Book类的print()方法输出,此时booka为当前对象
        System.out.println("---------------------------");
        Book bookb = new Book();            // 实例化新的Book类对象
        System.out.println("bookb = " + bookb);    // 主方法中输出Book类对象
        bookb.print();                    // 调用Book类的print()方法输出,此时bookb为当前对象
    }
}

 

转载于:https://www.cnblogs.com/wang95529/p/7900807.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值