Java中类与对象和类的继承
2021/11/27 20:42:52
本文主要是介绍Java中类与对象和类的继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
面对对象概述
在面向对象定义之中,也规定了一些基本的特征:
(1)封装:保护内部的操作不被破坏;
(2)继承:在原本的基础之上继续进行扩充;
(3)多态:在一个指定的范围之内进行概念的转换。
面对对象开发过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)
- 对象:对象是类的一个实例,它具有自己的属性和行为(方法),先有对象再有类。
- 类:类是多个对象的集合体,它描述一类对象的行为和状态。
实例展示
首先创建一个老师的类
public class Teather { // 姓名、年龄、性别、职称、所在院系、是否党员、所授课程; // 方法:上课; protected String name; protected String age; protected String sex; protected String rank; protected String college; protected String isPartyMember; protected String SelectedCourse = ""; //创建老师类的set和get方法 public void setName(String value) { name = value; } public void setAge(String value) { age = value; } public void setSex(String value) { sex = value; } public void setRank(String value) { rank = value; } public void setCollege(String college) { this.college = college; } public void setIsPartyMember(String isPartyMember) { this.isPartyMember = isPartyMember; } public void setSelectedCourse(String selectedCourse) { System.out.println("You are selecting the course of " + selectedCourse + "!"); if(SelectedCourse !=" ") SelectedCourse = SelectedCourse + "," + selectedCourse; else SelectedCourse = SelectedCourse + selectedCourse; } public String getName() { return name; } public String getAge() { return age; } public String getSex() { return sex; } public String getRank() { return rank; } public String getSelectedCourse() { return SelectedCourse; } public String getIsPartyMember() { return isPartyMember; } public String getCollege() { return college; } public void deliverCourse(String selectedCourse) { System.out.println("You are delivering " + selectedCourse + "!"); SelectedCourse = SelectedCourse + "," + selectedCourse; } }
再创建一个导师的类来继承老师的类(同时进行重载和重写)
public class Supervisor extends Teather{ //导师类继承老师类 //同时对导师中的属性进行添加 protected String direction; protected String tClass; //在导师类中创建study方法 public void study(String tDirection){ System.out.println("你正在研究课题"+tDirection+"。"); } //对study方法进行重载 public void study(String tDirection,String tRank){ System.out.println("你正在研究"+tRank+tDirection+"。"); //对老师类中的deliverCourse方法进行重写(delivering改为studying) public void deliverCourse(String selectedCourse) { System.out.println("You are studying " + selectedCourse + "!"); SelectedCourse = SelectedCourse + "," + selectedCourse; } }
提示:java中不管是属性还是方法、类都需要有修饰符作为前缀
Java语言提供了很多修饰符,主要分为以下两类:
- 访问修饰符
- 非访问修饰符(此处略过)
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
-
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
-
private : 在同一类内可见。使用对象:变量、方法。
-
public : 对所有类可见。使用对象:类、接口、变量、方法
-
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。。
注意:接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public
创建对象
对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
- 声明:声明一个对象,包括对象名称和对象类型。
- 实例化:使用关键字 new 来创建一个对象。
- 初始化:使用 new 创建对象时,会调用构造方法初始化对象。
类的继承
分类:类继承类和类继承接口
类继承类
格式:public class 子类 extends 父类{类体}
实例:
public class Student extends Person{ void study(){ System.out.println("student study..." + age); } }
注意:
- 其中子类拥有父类非private的属性和方法(一般父类用private修饰属性,
用public修饰方法,子类中用方法设置属性) - 子类可对父类进行扩展,可对父类方法进行重写(重写的访问修饰符权限
应大于等于父类)权限大小public>protected>缺省>private - super表示父类,this表示本类
- 所有类均继承object类
特点:可单继承、多重继承,但不能多继承
类继承接口
格式:public class 类名 implements 接口,接口,…… {类体}
范例:
public class DrawMouse implements MouseListener{ public void mouseClicked(MouseEvent e){ }; public void mousePressed(MouseEvent e){ }; public void mouseReleased(MouseEvent e){ }; public void mouseEntered(MouseEvent e){ }; public void mouseExited(MouseEvent e){ }; //接口中的方法全部需要重写,缺一不可 }
特点:
- 接口的抽象方法都需要重写
- 类中的属性默认具有final和static属性即变量初始化后不可更改
这篇关于Java中类与对象和类的继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26大厂数据结构与算法教程:入门级详解
- 2024-12-26大厂算法与数据结构教程:新手入门指南
- 2024-12-26Python编程入门指南
- 2024-12-26数据结构高级教程:新手入门及初级提升指南
- 2024-12-26并查集入门教程:从零开始学会并查集
- 2024-12-26大厂数据结构与算法入门指南
- 2024-12-26大厂算法与数据结构入门教程
- 2024-12-26二叉树入门教程:轻松掌握基础概念与操作
- 2024-12-26初学者指南:轻松掌握链表
- 2024-12-26平衡树入门教程:轻松理解与应用