温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中的面向对象实例讲解

发布时间:2021-08-05 11:15:08 来源:亿速云 阅读:103 作者:chen 栏目:开发技术

这篇文章主要介绍“java中的面向对象实例讲解”,在日常操作中,相信很多人在java中的面向对象实例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中的面向对象实例讲解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录
  • 一、继承

    • 示例:

  • 二、重载

    • 三、接口

      • 1、接口与类相似点:

      • 2、接口与类的区别:

      • 3、语法

    • 四、枚举

      • 1、定义

      • 2、迭代枚举元素

      • 3、在 switch 中使用枚举类


    一、继承

    继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为

    本章就以人、学生、老师作为例子。学生和老师都继承人这个对象,都有人的特征和行为,人就是父类,老师和学生就是子类

    示例:

    人类:

    package com.zhouzy.base.t7;
    public class Person {
    	private String name;
    	private String sex;
    	private int age;
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getSex() {
    		return sex;
    	}
    	public void setSex(String sex) {
    		this.sex = sex;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public void action(Person p){
    		System.out.println("这是人的行为");
    		System.out.println("person的名字:"+p.getName());
    	}
    }

    学生:

    package com.zhouzy.base.t7;
    public class Student extends Person{
    	/**
    	 * 这就是重写
    	 */
    	@Override
    	public void action(Person p){
    		System.out.println("这是学生的行为");
    		System.out.println("Student的名字:"+p.getName());	//继承了父类的属性
    	}
    }

    老师:

    package com.zhouzy.base.t7;
    public class Teacher extends Person{
    	@Override
    	public void action(Person p){
    		System.out.println("这是老师的行为");
    		System.out.println("Teacher的名字:"+p.getName());
    	}
    }

    测试:

    package com.zhouzy.base.t7;
    import org.junit.Test;
    public class ObjectTest {
    	@Test
    	public void extendsTest(){
    		Person p1 = new Student();
    		p1.setName("张三");
    		p1.action(p1);
    		Person p2 = new Teacher();
    		p2.setName("刘老师");
    		p2.action(p2);
    	}
    }

    结果:

    这是学生的行为
    Student的名字:张三
    这是老师的行为
    Teacher的名字:刘老师

    二、重载

    重载是在一个类里面方法名相同,但返回值或者参数类型或个数不同,比如

    private String testOverload(){
    		return "Overload";
    	}
    	private String testOverload(String param){
    		return "Overload";
    	}
    	private void testOverload(int param){
    		System.out.println(param);
    	}
    	private String testOverload(String param1,String param2){
    		return "Overload";
    	}

    重写和重载是java多态的一种体现

    三、接口

    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

    接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

    除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

    接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

    1、接口与类相似点:

    一个接口可以有多个方法。

    接口文件保存在 .java 结尾的文件中,文件名使用接口名。

    接口的字节码文件保存在 .class 结尾的文件中。

    接口相应的字节码文件必须在与包名称相匹配的目录结构中。

    2、接口与类的区别:

    接口不能用于实例化对象。

    接口没有构造方法。

    接口中所有的方法必须是抽象方法,Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法。

    接口不能包含成员变量,除了 static 和 final 变量。

    接口不是被类继承了,而是要被类实现。

    接口支持多继承。

    3、语法

    [可见度] interface 接口名称 [extends 其他的接口名] {
            // 声明变量
            // 抽象方法
    }

    示例:

    package com.zhouzy.base.t2;
    public interface Car {
    	public void move();
    }

    实现接口的类,必须实现接口里面的方法

    package com.zhouzy.base.t2;
    public class Baoma implements Car{
    	@Override
    	public void move() {
    		System.out.println("我是宝马,时速最高200公里每小时,牛擦吧!");
    	}
    }

    四、枚举

    1、定义

    Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。

    Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。

    例如定义一个颜色的枚举类。

    enum Color 
    { 
        RED, GREEN, BLUE; 
    }

    示例:

    enum Color 
    { 
        RED, GREEN, BLUE; 
    } 
    public class Test 
    { 
        // 执行输出结果
        public static void main(String[] args) 
        { 
            Color c1 = Color.RED; 
            System.out.println(c1); 
        } 
    }

    结果:

    RED

    2、迭代枚举元素

    enum Color 
    { 
        RED, GREEN, BLUE; 
    } 
    public class MyClass { 
      public static void main(String[] args) { 
        for (Color myVar : Color.values()) {
          System.out.println(myVar);
        }
      } 
    }

    结果:

    RED
    GREEN
    BLUE

    3、在 switch 中使用枚举类

    enum Color 
    { 
        RED, GREEN, BLUE; 
    } 
    public class MyClass {
      public static void main(String[] args) {
        Color myVar = Color.BLUE;
        switch(myVar) {
          case RED:
            System.out.println("红色");
            break;
          case GREEN:
             System.out.println("绿色");
            break;
          case BLUE:
            System.out.println("蓝色");
            break;
        }
      }
    }

    结果:

    蓝色

    到此,关于“java中的面向对象实例讲解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI