`

JavaSE04—类的封装,继承与多态

 
阅读更多
JavaSE04—类的封装,继承与多态





1.       类的封装



在面向对象法则中,是不允许用对象直接访问类中的属性,一般的开发中往往要将类中的属性封装起来(private),通过getter和setter等方法对封装的属性进行访问。



class Person

{

       private String name;

       private int age;

       private void talk(){

 

              System.out.println("我是"+name+",今年"+age"岁。 ");

 

       }

       public void setName(String str){

              this.name = str;

       }

       public void setAge(int a){

              if(a>0)

              this.age = a;

       }

       public String getName(){

              return name;

       }

       public int getAge(){

              return age;

       }

 

}
 





2.       类的继承



继承的格式:

class 子类名 extends 父类

Java继承只能直接继承父类中的公有属性和公有方法,而隐含地继承了私有属性。且Java中不允许多重继承,只允许多层继承。



1)  子类对象的实例化过程

super关键字:super关键字的主要功能是完成子类调用父类中的内容,也就是调用父类中的属性或方法。



class Person

{

       String name;

       int age;

       public Person(String str,int a){

              this.name = name;

              this.age = age;

       }

}

class Student extends Person

{

       String school;

       public Student(){

              super("张三",25);//调用父类的构造方法

 

       }

}
 


super关键字不仅可用于调用父类中的构造方法,也可用于调用父类中的属性或方法。



2)  限制子类的访问

有些时候,父类并不希望子类可以访问自己的类中的全部的属性或方法,所以需要将一些属性和方法通过关键字”private”隐藏起来。

3.       覆写



当一个子类继承一个父类,而子类中的方法与父类中的方法的名称,参数个数,类型等都完全一致时,就称子类中的这个方法覆写了父类中的方法。



class Person

{

       String name;

       int age;

       public String talk(){

              return "我是:"+this.name+",今年"+age+"岁";

       }

}

class Student extends Person

{

       String school;

       public Student(String str,int a,String sch){

      

              this.name = str;

              this.age = a;

              this.school = sch;

       }

       public String talk(){

      

              return "我在"+this.school+"上学"

      

       }

}
 

4.       类的多态

1)  向上转型

父类对象通过子类对象去实例化,实际上就是对象的向上转型。向上转型是不需要进行强制类型转换的,但是向上转型会丢失精度。



2)  向下转型

父类对象可以转换为子类对象,必须进行强制类型转换。

分享到:
评论

相关推荐

    抽象类_接口_多态_继承整合案例.docx

    抽象类_接口_多态_继承整合案例.。

    Java SE编程入门教程 java封装继承多态(共56页).pptx

    Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程入门教程 java接口(共21页).pptx Java SE编程入门教程 java类和对象方法以及包的使用(共56页)....

    [JavaSE-项目] 应科图书管理系统(新人篇)

    该项目包含:jar包,可运行exe文件,和整个打包的项目 关于这个项目我的博客链接: ...本项目主要是,利用前面所学的知识点:类,抽象类,封装,继承,多态,接口,顺序表等进行的一个简单的代码练习。

    javaSE基础部分笔记,包括说了类的一些知识点

    javaSE前面部分的基础笔记,实话与刚学JAVA的朋友,内容里面已经包括了类的一些支持点,比如封装,继承,多态等。

    JavaSE 五万字总结.pdf

    Java基础语法 类型转换 运算符 流程控制 循环 Random 数组 方法 方法重载 递归 二进制 类和对象 成员变量局和部变量 封装 构造方法 String 集合 继承 GIT 抽象类 多态 Java8 异常 泛型 Map File IO 多线程 线程池 ...

    JavaSE笔记.rar

    学习JavaSE做的一些笔记,包括Java基础知识(关键字,语句,常量,变量,运算符,数组,方法),Java面向对象(static,final,封装,继承,多态,内部类等)以及JavaAPI(String,正则,集合,映射,IO,Socket,反射,线程等技术)

    JAVASE-面试解惑.pdf

    面向对象是当今主流的程序设计思想,面向对象是对现实世界中事物的一种理 解和抽象,在现实生活中,任何物体都可以归... (3)面向对象具有抽象、封装、继承、多态 等特性。 面向对象的编程语言主要有:C++、Java、C#等

    javaSE代码实例

    15.1.5 内部类与外部类的预定义对象引用this 327 15.2 局部内部类 328 15.2.1 局部内部类的定义及创建 328 15.2.2 局部变量与局部内部类 329 15.2.3 静态方法中的局部内部类 331 15.3 静态内部类 332 ...

    JavaSE基础学习笔记

    JavaSE 星辰学习笔记 简介 如何高效的学习Java 案例:创建一个博客网站typecho 基础 Java程序运行机制 数据类型 变量 变量作用域 常量final 变量的命名规范 运算符 for循环 增强for循环 break continue 练习 Java的...

    Java基础笔记知识点.rar

    JavaSE 之前整理的笔记,...面向对象3(封装 继承 多态),7.面向对象4(抽象类 接口 包装类),8.GUI编程--awt,9.GUI编程--计算器案例,10.GUI编程--Swing,11.集合,12.多线程,13.IO流,14.网络编程,15.JDBC编程,16.异常处理

    JavaSE笔记11111

    面向对象的三大特征:继承,多态,封装 单列集合与双列集合:collection & map IO流:InputStream字节输入流,OutputStream字节输出流,Reader字符输入流,Writer字符输出流; 多线程&线程池; 反射&动态代理等

    JavaSE基础代码总结

    JavaSE基础代码总结

    一、JavaSE-(Java基础)

    1. Java基础语法阶段:包、注释、编码规范、if...2. 面向对象编程阶段:面向对象编程思想、封装、继承、多态、内部类、接口、Object 3. API(Application Programing Interface):集合、I/O、线程、异常、反射、设计模式

    leetcode分类-backend-learning:Kerno后端方向学习仓库

    面向对象(面向对象的编程描述,封装继承多态的联系,抽象类与接口的作用,内部类的实例化) 面向对象概念(模型) 命名空间与访问级别 面向对象特性(封装,继承,多态,抽象) 面向接口编程(解耦和) 内部类...

    HTML笔记.doc

    javase 课堂笔记,每一章节都有,从hellowork到语言基础,数据类型,运算符,类型转换,流程控制语句,数组,类,对象,封装,继承,多态,三个修饰符,抽象方法,内部类,

    javaSE整体学习总结,超级全面

    JDK的主要包,import(导入类),package(包机制),继承(extends)使用要点,implements,方法的重写(override),final(关键字)使用,instanceof(关键字),组合的核心,super本质是什么,封装(encapsulation),封装的简单规则,访问...

    javase知识总结

    C:类与类的关系 (4)类与对象 A:现实世界的事物 属性 事物的基本描述 行为 事物的功能 B:Java语言中最基本的单位是类。所以,我们要用类来体现事物 C:类 成员变量 事物属性 成员方法 事物行为 ...

    Java领域基础部分JavaSE笔记

    面向对象编程(OOP)基础(类,对象,继承,封装,多态) 异常处理 泛型 基本的输入输出(I/O) 线程和并发 Java集合框架(List, Set, Map等) 适用人群 初学者:对编程感兴趣,希望从基础学起的新手。 在校学生:...

    java知识点梳理

    文档梳理了Java基本语法知识——环境搭建、数据类型、运算符、控制流、数组、Arrays类、字符串、类和对象、对象的生成与销毁、Java包&方法调用&访问控制、封装和继承、多态、继承链、抽象类和接口等等。

    【第14、15天】Java SE的第一个练习---通讯录

    使用Java的基础三大特性封装、继承和多态编写了一个通讯录的小程序。包括添加、查找、删除、修改联系人以及按条件显示联系人。

Global site tag (gtag.js) - Google Analytics