面向对象是当前计算机界的重点,是当今软件开发方法的主流。java面向对象具有三大基本特性:封装、继承、多态。要想掌握面向对象思想,就得深入了解这三大基本特性。
一、封装性
所谓封装,就是将对象具有的成员变量和成员函数包装和隐藏起来,让外界无法直接使用,被封装的成员只能通过某些特定的方式才能访问。
实现封装有两个步骤:
1、将不能暴露的成员隐藏起来,我们就不能让其在类的外部被直接访问或赋值。实现方法是将该成员定义为私有的,在成员定义前加上private访问权限修饰符。
2、用公共方法来暴露对该隐藏成员的访问,可以给成员加上public修饰符,将该成员定义为公共的。
具体请看如下实例:
class Customer{
String name;
String sex;
private int age;
public void setAge(){
if(age<0||age>100){
System.out.println("age无法赋值")
return;
}
this.age = age;
}
public int getAge(){
return this.age;
}
}
public class Test{
public void main(String[] args){
Customer zhangsan = new Customer();
zhangsan.setAge(25); //使用特殊方法访问Customer类的age成员
System.out.println("zhangsan.age="+zhangsan.getAge());
}
}
二、继承性
所谓继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了父类的特性,新类称为原始类的派生类(子类),而原始类称为新类的父类。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
1. 为什么要使用继承?
a.提高程序的扩展性。
b.提高了代码的重用性。
2.java继承的语法格式
java中继承的关键字是:extends。
格式:
public class 子类名 extends 父类名 {
}
注意:
java的继承是单继承。一个类只有一个父类。
3.子类能继承到父类的那些方法和属性?
第一种:所有的属性和方法都被子类继承到了。
第二种:
a、子类和父类在同一个包下:
公有的受保护的属性和方法被子类继承到了。
b、子类和父类不在同一个包下:
公有的方法和属性被子类继承到了。
4.子类的对象能调用父类的那些方法和属性?
a、子类和父类在同一个包下:
公有的受保护的属性和方法能被子类调用。
b、子类和父类不在同一个包下:
公有的方法和属性能被子类调用。
在类和抽象类中,默认的就是受保护的。
在接口中,默认的就是公有的。
5.方法的重写
实现方法重写的条件:
a.必须要存在继承关系
b.方法的返回值类型,方法名,参数个数以及参数类型必须要和父类的完全相同。
c.方法的访问修饰符,可以大于或者等于父类方法的访问修饰符。
只能重写受保护的和公有的
protected ---> public
public X protected
重写的方法如何调用?
会优先执行子类的方法,如果子类中没有该方法,则执行父类中定义的方法。
6.重载overload
同一个类中,相同名字的方法,但是参数类型、个数或者顺序至少有一项不同。
//定义一个学生类
public class Student{
private String name;
private double $score;
public Student(){
System.out.println("Student");
}
public Student(String name){
this.name = name;
}
public String getName(){
return name;
}
//定义学习方法
public void study(){
$score++;
System.out.println(name+"学习中,学分是"+$score);
}
}
//定义一个大学生类
public class UNStudent extends Student {
public UNStudent(){
System.out.println("UNStudent");
}
//重写学习方法
public void study(){
System.out.println(getName()+"在学习中!!!");
}
//重载学习方法
public void study(String str){
System.out.println(getName()+"在学习中!!!");
}
public void play(){
System.out.println(getName()+"在踢足球");
}
}
三、多态性
所谓多态是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
实质:指当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,而这一切对系统A是透明的。
多态就是方法的重载,继承,方法重写,自动转型等技术的统称。
以上就是我对java面向对象的三大基本特性的总结,不足之处请多加指教。
分享到:
相关推荐
Java面向对象程序设计是编程领域中的重要主题,尤其在企业级应用开发中占据主导地位。本教程涵盖了这一关键概念,旨在帮助学习者深入理解和掌握Java的面向对象特性。以下是相关知识点的详细说明: 1. **面向对象...
Java是一种广泛使用的编程语言,以其强大的面向对象特性而闻名。面向对象编程(Object-...本PPT“第三章 Java的面向对象特性”将深入解析这些概念,提供实例和示例代码,帮助你更好地理解和应用Java的面向对象编程。
面向对象编程的三大特征——封装、继承和多态——是构建面向对象程序的基础。通过合理运用这些特性,可以构建出结构清晰、易于维护和扩展的高质量软件系统。在学习和应用面向对象编程的过程中,深入理解和掌握这些...
Java面向对象编程PDF 在这篇文章中,我们将对Java面向对象编程的基础知识进行总结和解释。面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将程序设计看作是对象的交互,对象之间的关系和行为...
下面将详细阐述Java面向对象编程的基本概念、主要特点以及其在实际开发中的应用。 一、面向对象编程基础 1. 类与对象:类是创建对象的模板,描述了一组具有相同属性和行为的对象。对象则是类的实例,拥有类定义的...
JAVA面向对象程序设计是 Java 编程语言的核心 contents,涵盖了面向对象编程的基本概念、语法规则、编程技术和实际应用等方面的知识。本文总结了 JAVA面向对象程序设计的知识点,涵盖了 Java 语言的基本语法、面向...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)原则,为开发者提供了构建复杂软件系统的方法。本资源包含了该课程所有章节的课后习题答案,帮助学习者深入理解Java语言的面向对象...
Java面向对象应用程序开发是软件开发领域中的核心主题,尤其对于初学者和专业开发者而言,理解并掌握这一技术至关重要。Java语言以其强大的面向对象特性、跨平台兼容性以及丰富的类库,成为了开发各种类型应用程序的...
在编程过程中,理解和掌握面向对象的三大特征(封装、继承、多态)对于编写高效和可维护的代码至关重要。本文针对刚刚接触面向对象概念的同学,通过一系列的练习题来巩固和深化对面向对象基础的理解。 类是现实世界...
Java面向对象编程练习题 本资源摘要信息涵盖了 Java 面向对象编程的基础知识,通过三个练习题,展示了 Java 编程语言的基本概念和应用。 练习题 01: 类的成员变量 本练习题展示了 Java 中类的成员变量的概念。类 ...
初学者可以通过导图了解和学习Java面向对象编程的基本概念和语法;有一定Java基础的开发者可以通过导图巩固和扩展他们的知识,进一步提升面向对象编程的能力。 使用场景以及目标: 这个导图可以作为学习和复习Java...
Java面向对象编程思想 Java 面向对象编程思想是 Java 编程语言的核心思想之一,通过封装、继承和多态三个特征,实现代码的重用和可维护性。 一、封装 封装是 Java 面向对象编程的三大特征之一,通过 Java 的类来...
下面将详细阐述Java面向对象编程的基本概念、特性及其在实际开发中的应用。 1. 面向对象编程基础: - 类(Class):类是面向对象编程的基本单元,它定义了一组属性(数据成员)和行为(方法)。在Java中,通过创建...
Java面向对象练习题是Java编程语言中非常重要的一部分,这些练习题涵盖了Java语言的基础知识,包括Java基本数据类型、运算符、控制结构、方法、类和对象、继承、多态、抽象类和接口等方面。通过这些练习题,可以对...
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它以对象作为基本单元,强调对象的封装、继承和多态。Java和Python都是面向对象的编程语言,但它们在继承和多态的实现上各有特色,此外,垃圾...
Java面向对象程序设计 Java面向对象程序设计是一本由莫雷利、王尔德合著的图书,出版于2008年 oleh 清华大学出版社。该书全面系统地讲述了Java语言的面向对象程序设计,涵盖了Java语言的基础知识、基本语法、编程...
Java面向对象课程设计是计算机科学领域中一个重要的实践环节,旨在帮助学生深入理解面向对象编程的概念和技巧。在这个课程设计中,学生通常会被要求完成一个实际的项目,使用Java语言来实现,同时需要提交详细的报告...