IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java基础(六) -> 正文阅读

[Java知识库]Java基础(六)

目录

一.封装

1.1 封装的具体优点:

1.2 封装的实现——使用访问控制符

二.多态

2.1 多态概念和实现

三.抽象类和接口

3.1 抽象方法和抽象类

3.2 接口interface


一.封装

封装是面向对象三大特征之一。对于程序合理的封装让外部调用更加方便,更加利于写作。同时,对于实现者来说,也更加容易修正和改版代码。

1.1 封装的具体优点:

1.提高代码的安全性。

2.提高代码的复用性。

3.“高内聚”:封装细节,便于修改内部代码,提高可维护性。

4.“低耦合”:简化外部调用,便于调用者使用,便于扩展和协作。

1.2 封装的实现——使用访问控制符

public class person {
    //属性一般用private修饰
    private String name;
    private int ages;
    private String flag;
    //为属性提供public修饰的set\get方法
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name=name;
        System.out.println(name);
    }
    public static void main(String[] args){
        person p=new person();
        p.setName("douodou");
    }
}

注:关于protected的两个细节:

1.若父类和子类在同一个包中,子类可访问父类的protected成员,也可访问父类对象的protected成员。

2.若子类和父类不在同一个包中,子类可访问父类的protected成员,不能访问父类对象的protected成员。

二.多态

2.1 多态概念和实现

多态指的是同一个方法调用,由于对象不同,可能会有不同的行为。

public class test {
    public static void main(String[] args){
        animal a1=new dog();
        a1.shout();
        dog d= (dog)a1;
        d.seedour();
        animal a2=new cat();
        a2.shout();
    }
}
class animal {
    public void shout(){
        System.out.println("叫了一声!");
    }
}
class dog extends animal{
    public void shout(){
        System.out.println("汪汪汪!!");
    }
    public void seedour(){
        System.out.println("看门");
    }
}
class cat extends animal{
    public void shout(){
        System.out.println("喵喵喵!!");
    }
}

三.抽象类和接口

3.1 抽象方法和抽象类

1.抽象方法

? ? ?使用abstract修饰的方法,没有方法体,只有声明。

2.抽象类

? ? ?包含抽象方法的类就是抽象类。

public class test {
    public static void main(String[] args){
        dog d=new dog();
        d.shout();
    }
}
abstract class animal{
    abstract public void shout();
}
class dog extends animal{
    //子类必须实现父类的抽象方法,否则编译错误
    public void shout(){
        System.out.println("汪汪汪!!");
    }
}

抽象类的使用要点:

1.有抽象方法的类只能定义成抽象类。

2.抽象类不能实例化,即不能用new来实例化抽象类。

3.抽象类可以包含属性.方法.构造方法。但是构造方法不能用new来实例,只能用来被子类调用。

4.抽象类只能用来被继承。

5.抽象方法必须被子类实现。

3.2 接口interface

接口就是比“抽象类”还“抽象”的“抽象类”。

public class test {
    public static void main(String[] args){
        dogs d=new dogs();
        d.cute();
        d.huijiao();
    }
}
interface huijiao{
    void huijiao();
}
interface cute{
    void cute();
}
class dogs implements huijiao,cute{
    public void huijiao(){
        System.out.println("汪汪汪!!");
    }
    public void cute(){
        System.out.println("很可爱");
    }
}

定义接口的详细说明:

1.访问修饰符:只能是public或默认。

2.接口名:和类名采用相同命名机制。

3.extends:接口可以多继承。

4.常量:接口中的属性只能是常量。

5.方法:接口中的方法只能是:public abstract。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 12:56:41  更:2022-02-16 12:58:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:10:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码