美文网首页
二、Java初级--11、数组、强制类型转换、传递值/地址、接口

二、Java初级--11、数组、强制类型转换、传递值/地址、接口

作者: cybeyond | 来源:发表于2018-03-26 11:21 被阅读0次

1、数组(array)

  • 可以存放多个同一种类型的变量
  • 数组的下标或索引,从0开始


    结构
package javastudy;

public class Testit {

    public static void main(String[] args) {
        Animal a[]=new Animal[4];
        a[0]=new Animal();
        a[1]=new Dog();
        a[2]=new Cat();
        a[3]=new Person();
        for(int i=0;i<=3;i++) {
            a[i].eat();
        }
    }
}

2、 强制类型转换

在person类中定义一个方法study

package javastudy;

public class Person extends Animal {

//  @Override
//  public void eat() {
//      // TODO Auto-generated method stub
//      super.eat();
//  }
    public void study() {
        System.out.println("我爱学习!");
    }
}

此时在testis类中,为Person类生成一个对象a,但是只能引用animal中的eat(),而不能引用Person定义的study,此时需要使用强制类型转换


类型没有转换前
        Animal a=new Person();
        Person p=(Person)a; //强制类型转换
        p.study();
转换后,都能够引用 结果

3、 传值和传址

  • 简单类型的变量传值:byte、short、int、long、float/double、boolean、char
  • 引用类型的变量传址 String、对象
    Person类
    int age;

Testit类

        int a=100;
        int b=a;
        a=1000;
        System.out.println("a的值:" +a+","+"b的值:"+b); //传递数值
//      
        Person x=new Person();
        x.age=20;
        Person y=x;
        x.age=30; //传递地址
        
        System.out.println("x的值:"+x.age+";"+"y的值:"+y.age); 
结果

4、接口

  • 类似于继承中的父类,但是继承(extends)中要求一个子类不能继承多个父类
  • 接口中只能有抽象方法abstract method
    设置自动补全类名,在window---preferences--java--editor--content assist中将a-z都添加进去。


    设置自动补全

首先创建一个接口interface,在“新建”---“interface”中新建student

结构

接口student

package javastudy;

public interface Student {
        public void studyed();//接口中只能有抽象方法,不能够实现
}

接口teacher

package javastudy;

public interface Teacher {
    public void teached();
}

Assist类实现接口teacher、student


定义接口实现
package javastudy;

public class Assist implements Teacher, Student { //implements实现接口中定义的方法 

    @Override
    public void studyed() {
        // TODO Auto-generated method stub
        System.out.println("我爱学习!");
    }

    @Override
    public void teached() {
        // TODO Auto-generated method stub
        System.out.println("我爱讲课!");
    }
}

Testit类

        Assist a=new Assist();
        a.studyed();
        a.teached();
        Teacher t=new Assist();  //也可以用父类的引用指向派生类的对象,Teacher当做Assist的父类
        t.teached();
        Assist s=(Assist)t;
        s.studyed();
结果

相关文章

  • 二、Java初级--11、数组、强制类型转换、传递值/地址、接口

    1、数组(array) 可以存放多个同一种类型的变量 数组的下标或索引,从0开始结构 2、 强制类型转换 在per...

  • Java强制类型转换

    Java强制类型转换 语法:“(”+“目标类型”+“)”+“想要转换的值”; 例如: 结果 9 Java中如果将...

  • Java参数传递是值传递

    篇首语:Java基本类型传递的是值的拷贝,Java引用类型传递的是对象地址的拷贝。 在java中,java是通过值...

  • JavaScript的强制类型转换

    强制类型转换 将javascript的值从一种类型转换为另一种类型的值——>类型转换隐式类型转换——>强制类型转换...

  • Java按值还是引用传参

    Java的方法参数是按值传递的 基本类型传递的是字面值,引用类型传递的是地址值。也可以理解成,基本类型按值传递,引...

  • Java常用技巧

    1. 泛型数组合并 2. 值传递 & 引用传递 2.1 Java数据类型   Java数据类型分为基本数据类型和引...

  • c++重要的概念部分

    1. const 修饰指针 2.指针和数组 3.值传递和地址传递(相当于java的引用传递) 值传递:特点 不改...

  • 我所不知道的JavaScript——强制类型转换

    1. 值类型转换 将值从一种类型转换成另一种类型,有两种情况,显示强制类型转换和隐式强制类型转换。 2. 抽象值操...

  • js基础

    值类型: 引用类型:对象,数组,函数 null :空地址 Object type只能区分值类型 类型转换 字符拼接...

  • ToBoolean 转换布尔值

    JavaScript中,抽象值操作ToBoolean用于将数据类型强制转换为布尔类型 以下数据值在强制类型转换为b...

网友评论

      本文标题:二、Java初级--11、数组、强制类型转换、传递值/地址、接口

      本文链接:https://www.haomeiwen.com/subject/zfmzqftx.html