Java复习二

本文介绍了面向对象编程的基础概念,包括类与对象的关系、类的特征与行为、对象的实例化、方法的作用、包的组织结构、封装与访问修饰符、继承机制以及多态性。还特别提到了Java中的ArrayList类作为数据集合的使用。
摘要由CSDN通过智能技术生成

第六章 面向对象


介绍类与对象


类的特征和行为

类是抽象的概念,是对象的模板

对象是具体的事物,是类的具体实例化

面向对象编程

面向对象编程是利用编程方式体现出现实中类与对象
从已有现实的类中定义程序中的类
从类创建具体的对象
创建类的语法:

public class 类名{

//类的内容

}

创建类的实例对象:

类名 对象名=new类名();

成员变量


成员变量就是隶属于对象的变量

成员变量用于保存对象的静态特征

同类型的不同对象 拥有相同的成员变量,但彼此独立

案例如下:

public class Dog {
    String name;
    int age;
    float weight;
public static void main(String[] args) {
    Dog duoduo=new Dog();
    duoduo.name="多多";
    duoduo.age=6;
    duoduo.weight=13.5f;
    Dog lucky=new Dog();
    lucky.name="lucky";
    lucky.age=3;
    lucky.weight=10.2f;
    System.out.println(duoduo.name+"今天"+duoduo .age+"岁了");
    System.out.println(lucky.name+"体重"+lucky.weight+"千克");
}
}

运行结果:

方法的作用


方法是用于完整特定功能的整段代码

案例如下:

public class MethodSample {
    public String isOddNumber(int num) {
        if(num%2==0) {
            return"偶数";
        }else {
            return"奇数";
        }
    }
    public static void main(String[] args) {
    int a=10;
    MethodSample methodSample=new MethodSample();
    String r1=methodSample.isOddNumber(a);
    System.out.println(a+"是"+r1);
    int b=5;
    String r2=methodSample.isOddNumber(b);
    System.out.println(b+"是"+r2);
    
 
    }
 
}

运行结果:

包-Package


把功能相似或相关的类组织在同一个包中
包也采用了树形目录的存储方式
通过也可限定类的访问权限


包的命名规范

包采用“逆域名法”进行命名,“.”分割,单词全部小写

标准格式:域名后缀.组织机构名.项目名.[.模块名].包的职能

访问修饰符


面向对象特征之封装


封装即隐藏功能的实现细节
利用对象与方法是实现封装的直接途径
良好的封装让代码更容易阅读与维护


对成员变量进行读写封装

getter方法用于读取成员变量的内容

书写格式:public 成员变量 get成员变量名()

setter方法用于设置成员变量的内容

书写格式:public void set成员变量(新的数据参数)

//第一个类
public class MobileNumber {
    private String owner;//所有者
    private String areaCode="86";//国家区号
    private long mobileNumber;//手机号
    public String getOwner() {
        return owner;
    }
public void setOwner(String owner) {
    this.owner=owner;
}
 
    }
 
 
//第二个类
 
public class MobileNumberTest {
    public static void main(String[] args) {
        MobileNumber mobileNumber=new MobileNumber();
        mobileNumber.setOwner("老王");
        String owner=mobileNumber.getOwner();
        System.out.println(owner);    
 
    }
 
}

运行结果:

面向对象特性之继承


extends关键字用于类的继承

子类会继承父类的成员变量与方法

//第一个类
public class Mark1 {
protected String title;
protected String color;
protected String movie;
public void description() {
    System.out.println("型号"+title);
    System.out.println("颜色"+color);
    System.out.println("首次出现电影"+movie);
}
private void fire() {
    System.out.println("利用手臂燃料泵射出火焰");
}
public static void main(String[] args) {
    Mark1 mark1=new Mark1();
    mark1.color="银灰色";
    mark1.movie="钢铁侠1";
    mark1.title="马克1型";
    mark1.description();
    mark1.fire();
}
}
 
//第二个类
 
public class Hulk extends Mark1 {
public static void main(String args) {
    Hulk hulk=new Hulk();
    hulk.title="反浩克装甲";
    hulk.color="红色";
    hulk.movie="复仇者联盟";
    hulk.description();
    
}
}

面向对象特性之多态


多态是同一个行为具有多个不同表现形式或形态的能力,实现多态的关键是接口

接口是一个抽象的类型,只提供的定义

实现类是一个接口的具体实现,要实现每一个接口方法的功能

ArrayList类


ArrayList是Java内置的数据集合,用于存储多个数据
ArrayList是数组替代品,提供了更多的数据操作方法
ArrayList几乎是每个项目中必用的类
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值