java学习笔记(五)

3.20~~~
package 包名;
class 类名 extends 父类 implements 接口名{
   成员变量;
  构造方法;
   成员方法;
}


实现接口vs继承类

java继承是单继承,也就是一个类做多只能有一个父类,这种单继承的机制可保证类的纯洁性,比c++多继承机制简洁。

但是不可以否认,对子类功能的扩展有一定影响。所以我们认为:

  1. 实现接口可以看做是对继承的一种补充
  2. 实现接口可在不打牌继承关系的前提下,对某个类的功能扩展,非常灵活。(继承是层级式的,金字塔)

接口可以弥补单继承缺点,相当于实现了多继承

 

package com.test;

public class demo1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

interface Fish
{
	public void swimming();
}
interface Bird
{
	public void fly();
}
class Monkey
{
	int name;
	//跳
	public void jump()
	{
		System.out.println("猴子会跳");
	}
}
class LittleMonkey extends Monkey implements Fish,Bird
{
	public void swimming() {
		// TODO Auto-generated method stub	
	}
	public void fly() {
		// TODO Auto-generated method stub	
	}
}

接口实现多态:carshop案例。
前期绑定:编译确定类型

后期绑定:运行时确定类型

 

final 可以修饰变量或者方法

需求:

  1. 当不希望父类的某个方法被子类覆盖时,可以用final关键字修饰
    class Aaa{
    //给方法用final修饰,则表示不可以被修改,不可被覆盖
        int a;
        final float rate=3.1415926f;
        final public void sendMes()
        { 
           System.out.println("send aaa");
        }
    }
    class Bbb extends Aaa
    {
        public Bbb()
        { 
           a++;
           rate=rate+1;//错
         }
    //public void sendMes()
    //{
    //   System.out.println("send bbb");
    //}
    }
  2. 当不希望类的某个变量的值被修改,可以用final修饰(如果一个变量是final,则必须赋初值)
  3. 当不希望类被继承时,用final。  final修饰类,则表示类不能被继承。final class Aaa

 

注意事项:

  1. final修饰的变量又叫常量,一般用xx_xx_xx命名
  2. final修饰的变量在定义时,必须赋值,并且以后不能再赋值

什么时候用

  1. 因为安全考虑,类的某个方法不允许修改
  2. 类不会被其它的类继承
  3. 某些变量值是固定不变的,比如圆周率3.1415926

基础知识截止~~~蛮简单的,难的在后面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值