java 学习笔记 day08 final/static关键字、抽象类和接口 原创

1391-王同学

发表文章数:51

首页 » Java » 正文

1.final关键字

  • final修饰类:此类不能被继承
  • List item
  • List item

final修饰变量:则变量不能被修改,是常量
final修饰方法:父类的方法被final修饰时,不能被重写

2.static关键字

2.1被static修饰的成员的特点,

  • 被类的所有对象共享
  • 可以通过类名直接访问
  • 优先于对象存在
  • 随着类的加载而加载

public class student {
    public String name;
    public  int age;
    public static String graduateFrom;
    public void show(){
        System.out.println(name+"--"+age+"--"+ graduateFrom);
    }
}

public class studentTest {
    public static void main(String[] args) {
        student.graduateFrom="宽客塔";
        student s= new student();
        s.name="刘亦菲";
        s.age=30;
//        s.graduateFrom="宽客塔";
        s.show();

        s.name="刘小菲";
        s.age=25;
//        s.graduateFrom="宽客塔";
        s.show();
    }
}

2.2被static修饰的成员方法

  • 静态的方法只能访问【静态】的成员变量和【静态】的成员变量

静态的方法中不能出现this和super关键字。因为静态方法是随着类的加载而加载,先进入内存,this和super在对象创建时才存在。

3.抽象类

  • 抽象类的特点:
  •  A:抽象类和抽象方法必须使用abstract关键字修饰
    
  •  B:抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
    
  •  C:抽象类不能实例化
     	抽象类如何实例化呢?
     	参照多态的方式,通过子类对象实例化。
    
  •  D:抽象类的子类
     	要么重写抽象类中的所有抽象方法
     要么是抽象类
    

public abstract class Animal {
    public abstract  void eat();
}

public class Cat extends Animal {

    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }
}

public class AnimalTest {
    public static void main(String[] args) {
        Animal a= new Cat();
        a.eat();
    }

}

4. 接口

  • 定义接口使用interface关键字
  • 类和接口是实现关系,用implements关键词实现
  • 接口不能实例化,用多态来实例化
  • 接口中的变量默认就是常量
  • 接口中没有构造方法,但是默认是Object
  • 接口中的方法必须是抽象
public interface Jump {
    public abstract void jumping();
}
public class Cat implements Jump{
    @Override
    public void jumping() {
        System.out.println("cat jump");
    }
}

public class Test {
    public static void main(String[] args) {
        Jump j = new Cat();
        j.jumping();
    }
}

java 学习笔记 day08 final/static关键字、抽象类和接口
                    原创

  • 类与类:
    继承关系,只能单继承,可以多层继承。

  • 类与接口:
    实现关系,可以单实现,也可以多实现。
    还可以在继承一个类的同时实现多个接口。

  • 接口与接口:
    继承关系,可以单继承,也可以多继承。

  • 抽象类和接口的区别:

  •  A:成员区别
     	抽象类:
     		成员变量:可以是变量,也可以是常量
     		构造方法:有
     		成员方法:可以是抽象方法,也可以是非抽象方法
     	接口:
     		成员变量:只能是常量
     		成员方法:只能是抽象方法
    
  •  B:关系区别
     	类与类:继承关系,只能单继承,可以多层继承
     	类与接口:实现关系,可以单实现,也可以多实现
     	接口与接口:继承关系,可以单继承,也可以多继承
     C:设计理念的区别
     	抽象类 被继承体现的是:"is a"	抽象类中定义的是继承体系的共性功能
     	接口 被实现体现的是:"like a"  接口中定义的是该体系的扩展功能
    
  •  	举例:
     		猫,动物
     		猫,跳高运动员  		
    

5.包

  • 包:其实就是文件夹。
  • 作用:就是对类进行分类管理。
  • 包的定义格式:
    package 包名;
    如果是多级包用.隔开即可
  • 注意事项:
    A:package必须是程序的第一条可执行语句
    B:package语句在一个java文件中只能有一个
  • 包的导入 用import

6.权限修饰符

  • 权限修饰符:
  •  		       本类		同一个包下(子类和无关类)	不同包下(子类)	不同包下(无关类)
      private:		Y
      默认:			Y		               Y
      protected:    Y		               Y					Y
      public:		Y		               Y					Y			Y
    

未经允许不得转载:作者:1391-王同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《java 学习笔记 day08 final/static关键字、抽象类和接口 原创》 发布于2020-11-10

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录