Java面向对象基础教学(三)

目录
  • 1.包是什么:
  • 2.Java面向对象程序设计三大重要特征:
    • (1)封装:
    • (2)继承extends:
    • (3)多态
  • 3.instanceof 运算符
  • 总结

1.包是什么:

包相当于文件夹,把不同类型的文档归类,分别放到不同的文件夹中

语法:

package <包名>;

声明一个包的语句必须放在类中的第一行

包的导入:import <包名>.<类名>;也可以

import <包名>.*;

2.Java面向对象程序设计三大重要特征:

(1)封装:

将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。

例如:

public class Person{
    private String name;
    private int age;
​
    public int getAge(){
      return age;
    }
​
    public String getName(){
      return name;
    }
​
    public void setAge(int age){
      this.age = age;
    }
​
    public void setName(String name){
      this.name = name;
    }
}

(2)继承extends:

指的是继承父类所以的非私有的属性和方法

语法:

[修饰符] class 子类名 [extends 父类名]{
        //类定义部分
}

例如:

public class People{
    String name;
    String sex;
    int age;
    public void talk() {
	    System.out.println("我是男孩");
}
    public static void main(String[] args) {
		// TODO 自动生成的方法存根
		People p = new Boy();
		p.talk();
	}
class Boy extends People{

}

运行结果如下:

(3)多态

多态又分为重载和重写

一. 重载:方法的重载,指的是同一个类中,可以有多个相同的方法名,但这些方法的参数必须不同

例如:

class math {
	public int add(int a,int b) {
		return a+b;
	}
	public double add(int a,double b) {
		return a+b;
	}
	public double add(double a,double b) {
		return a+b;
	}
}

注意:(1)同一个类中方法名相同,参数列表不同

(2)返回值类型不能用于区分方法的重载

二.重写

子类与父类之间,方法名与参数相同,代码不同

例如:

public class People{
    String name;
	String sex;
	int age;
    public void talk(){
      System.out.println("我是男孩");
    }
}

class Boy extends People{
	 public void talk() {
		//代码块;
     }
}

3.instanceof 运算符

a instanceof B 判断对象a是不是由B类创建的,如果条件成立,则返回true,否则返回false

例如:

public class People {
	    String name;
	    String sex;
	    int age;
	    public void talk() {
	    	  System.out.println("我是男孩");
	    }
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		People p = new Boy();
		if (p instanceof Boy) {
			Boy b = (Boy)p;
			b.talk();
		}else {
			p.talk();
		}
	}
}

class Boy extends People{
	 public void talk() {

   }
}

总结

本篇文章就到这里了,希望可以对你有所帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Java面向对象基础教学(二)

    目录 1.使用访问修饰符: 2.static关键字: 3.this关键字 总结 1.使用访问修饰符: 访问修饰符 同一个类中 同一个包中 子类中 所有类中 private √ -- -- -- default √ √ -- -- protected √ √ √ -- public √ √ √ √ 注释:private:私密的    default:默认值    protected:受保护的    public:公共的 访问控制级别:private→default→protected→public

  • Java面向对象基础教学(一)

    目录 1.如何定义类 2.如何定义属性 3.如何定义普通方法 4.如何创建对象 5.如何定义构造方法 6.什么是可变参数,怎么用? 总结 1.如何定义类 语法: 访问修饰符 class 类名{ } public class skills{ } 2.如何定义属性 语法: 属性写在类里面 数据类型  变量名; public class hero{ String sex; String name; } 3.如何定义普通方法 语法: 访问修饰符 返回值 方法名(参数){ } public void at

  • 浅谈Java面向对象之内部类

    目录 内部类 访问外部对象 访问内部对象 局部内部类 匿名内部类 静态内部类 内部类 内部类是定义在另一个类中的类,例如 TalkingClock 类中内嵌了 TimePrinter 类: class TalkingClock{ private int interval; private boolean beep; public TalkingClock(int interval, boolean beep){} public void start(){} public class TimePr

  • 带你轻松搞定Java面向对象的编程--数组,集合框架

    目录 一.数组 1.数组的定义 2.数组的声明 3.数组的初始化 二.集合概述 三.Collection接口 1.Collection接口概述 2.集合框架的三个组件 3.Iterator接口 四.List接口 1.ArrayList类 2.LinkedList类 五.Set接口 1.HashSet类 六.Map接口 1.HashMap类 七.泛型 总结 一.数组 1.数组的定义 数组是为了解决同类数据整合摆放而提出的,可以理解为一组具有相同类型的变量的集合,它的每个元素都具有相同的数据类型.

  • 新手初学Java面向对象

    目录 java面向对象 知识点 总结 java面向对象 面向对象[Java语言的核心机制,最重要的内容,Java语言的特色] * 面向过程和面向对象的区别 - 面向过程:主要关注点是:实现的具体过程,因果关系[集成显卡的开发思路] * 优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低. * 缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的 方式导致软件元素之间的"耦合度"非常高,只要其中一环出问题,整个系统受到影响, 导致最终的软件"

  • Java面向对象基础教学(三)

    目录 1.包是什么: 2.Java面向对象程序设计三大重要特征: (1)封装: (2)继承extends: (3)多态 3.instanceof 运算符 总结 1.包是什么: 包相当于文件夹,把不同类型的文档归类,分别放到不同的文件夹中 语法: package <包名>; 声明一个包的语句必须放在类中的第一行 包的导入:import <包名>.<类名>:也可以 import <包名>.*: 2.Java面向对象程序设计三大重要特征: (1)封装: 将类的某些

  • Java面向对象基础之多态性,抽象类和接口

    一.多态性 多态是指一个对象可以拥有多种不同的形态,继承是实现多态的基础. 1.1 引用多态和方法多态 引用多态:父类引用可以指向本类的对象,也可以指向子类的对象 方法多态: 1.创建本类对象时,调用的方法为本类方法: 2.创建子类对象时,调用的方法为子类重写或继承的方法. 首先建立父类Animal,包含一个eat()方法,如下代码所示: public class Animal { public void eat(){ System.out.println("动物可以吃东西"); }

  • Java面向对象基础,类,变量,方法

    一.面向对象的4个基本特征 抽象性.封装性.继承性和多态性. 抽象性分为过程抽象和数据抽象. 封装性 封装将数据以及加在这些数据上的操作组织在一起,成为有独立意义的构件.外部无法直接访问封装的数据,从而保证了这些数据的正确性. 如果外部需要访问类里面的数据,就必须通过接口.接口规定了可对一个特定的对象发出哪些请求. 继承性 继承是一种联结的层次模型,并允许和鼓励类的重用,它提供给了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始

  • Java面向对象基础详解

    目录 一.前言 什么是对象? 什么是类? 类和对象的关系? 类的定义 ? 怎么创建对象? 格式: 创建对象的作用? Phone类下: PhoneDemo下: 二.封装 封装的好处? Student类下: 代码: StudentDemo类下: 代码: 总结 一.前言 我们上次学过java的方法,现在我们来学习新的一篇,也算是java中比较重要的一节了 面向对象基础是java中核心. 面向对象主要包括封装.继承.多态 我们这节主要讲的是封装,在这之前我们先来了解一下类和对象的定义和关系 什么是对象?

  • Java面向对象基础知识之枚举

    目录 一.枚举的定义 二.枚举的声明 三.枚举的转换 四.枚举的方法 五.标志枚举(二进制枚举) 总结 一.枚举的定义 枚举是一组命名整型常量.枚举类型是使用enum关键字声明的. C# 枚举是值类型.换句话说,枚举包含自己的值,且不能继承或传递继承. 二.枚举的声明 声明枚举的一般语法: enum <enum_name> { enumeration list }; 其中, enum_name指定枚举的类型名称. enumeration list是一个用逗号分隔的标识符列表. 枚举列表中的每个

  • Java面向对象基础知识之封装,继承,多态和抽象

    目录 一.封装 二.继承 三.多态 四.抽象 总结 一.封装 封装:是面向对象方法的重要原则,就是把对象的属性和行为(数据)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节,就是把不想告诉或者不该告诉别人的东西隐藏起来,把可以告诉别人的公开,别人只能用我提供的功能实现需求,而不知道是如何实现的.增加安全性 public class Person { private String name; private int gender; private int age; public String

  • java面向对象基础_final详细介绍

    final: 继承的弊端:打破了代码的封装性,final的出现正好弥补了这一弊端 final关键字: 1-final是一个修饰符,可以修饰类,方法,变量; 2-final修饰的类不能被继承 3-final修饰的方法不可以被覆盖 4-final修饰的变量是一个常数,只能被赋值一次并且要在定义时就将其赋予某值 规则: 被定义final的常量要用大写字母表示,各单词之间用下划线_来隔开. 实例一: class Father01{ final String FATHER01_NAME = "张三&quo

  • Java面向对象基础知识之抽象类和接口

    抽象类(abstract): 抽象类不能创建实例,它只能作为父类被继承.抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象.从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类的随意性. (1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法 (2) 抽象类不能被实例化 (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基

随机推荐