栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面向对象的特征:封装、继承、多态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面向对象的特征:封装、继承、多态

封装:

概念:隐藏类的实现细节,将类的属性私有化,提供公开的接口访问这些属性。

好处:①安全性  ②不关系具体实现  ③打包模块(增加了数据的访问限制,增强了数据的可维护性。)

实现:①将属性私有化  ②每个属性提供两个公开的方法(get、set) 

例:请通过代码封装,实现:

编写一个Book类,代表教材:具有属性:名称(title)、页数(pageNum)、其中页数不能少于200页,否则输出错误信息,并赋予默认值200为个属性设置赋值(set)和取值(get)方法具有方法:toString,用来在控制台输出每本教材的名称和页数通过main方法进行测试:为Book对象赋予初始值,并调用Book对象的toString方法,看看输出是否正确

package package0324;

public class Book {
    private String title;
    private int pageNum;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getPageNum() {
        return pageNum;
    }

    public void setPageNum(int pageNum) {
        if (pageNum < 200) {
            System.out.println("页数不能少于200页。");
            this.pageNum = 200;
            return;
        }
        this.pageNum = pageNum;
    }

    @Override
    public String toString() {
        return "Book{" +
                "title='" + title + ''' +
                ", pageNum=" + pageNum +
                '}';
    }

    public static void main(String[] args) {
        Book book = new Book();
        book.setTitle("英语");
        book.setPageNum(199);
        System.out.println(book.toString());
    }
}
 继承:

概念:子类继承父类的一般特性,以及自己的特有的特性。

容易出问题的地方:

①构造器问题:

产生子类对象前,首先产生父类对象,默认情况下产生父类对象时调用无参构造器

    父类书写一个无参构造器调用父类无参构造器构造器不会继承

②声明问题:

A是父类,B是子类

A a = new A();

B b = new B();

A c = new B();声明的是父类,所以不能使用子类所拥有的方法,只能使用父类所拥有的方法。

Java是单继承,一个类只能继承一个父类,但是可以通过传递性来依赖获取其它类的特性

 实现:public  class A  extends B{……}//继承父类特有的属性和方法

public class Teacher1 {
    String name;
    String schoolName;
    public void lession(){
        System.out.println("打开idea");
        System.out.println("知识点讲解");
    }
    public void introduction(){
        System.out.println("我是:"+name);
        System.out.println("我来自于:"+schoolName);
    }

    public static void main(String[] args) {
        JavaTeacher1 java=new JavaTeacher1();
        java.name="王妍";
        java.schoolName="商洛学院";
        java.lession();
        java.introduction();
    }
}

public class JavaTeacher1 extends Teacher1 {
public void lession(){
    System.out.println("vs");
    super.lession();
}
}
多态:

概念:具有表现多种形态的能力特征。

实现:

①方法的重写:子类重写父类的方法

②方法的重载:在同一类中,多个方法具有相同的方法名,不同的形式参数列表。

 public void a(int a){
        System.out.println("a");
    }
    public void a(int a,String name){
        System.out.println(a+name);
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/786077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号