java-review5 类和对象

5.1类修饰符

关系:描述元素之间的关系

关联:表示两者有关系,但不定向

泛化:超类和子类的关系

依赖:两个命名元素之间的定向关系

public公众可访问
缺省包内可访问
abstract抽象(不能创建对象-不能使用new)
final不能有子类
strictfp严格浮点计算

                       ps:public class 的类名必须和文件名一致,且只能有一个


5.2 域

public class Body{
     public long idNum;
     public static long nextId=0
}

        定义:类中作为成员的变量

                   除非静态域,否则不同对象间的域不会互相影响

        静态域:对类的所有对象共享的域

        访问:内部-直接用域名

        外部-通过类名和域名(body.nextID)或者类的对象引用和域名(mercury.nextID)

        final域:①定义时初始化②类初始化后(static final)③对象创建完成后(没有static的final)


5.3访问控制

        定义:控制一个类或接口中的成员谁能访问该类或接口

访问说明符本类同一包子类其他
publicTTTT
protectedTTTF
packageTTFF
privateTFFF

5.4创建对象

用new创建一个对象。

body a= new body();

5.5构造与初始化

构造器使用与所属类相同的名字

用户可以创造几个构造器 (重载)

可以调用同类中另外一个构造器,使用this

初始化块

public long idNum{
    private static longnextID=0;
    {
        idNum=nextID++;        //初始化块取代无参构造器
    }
}

拷贝构造器:当前对象类型作为形参,使用时创建一个新对象,作为以对象形式传递实参的一个拷贝 (通常复制所有域的值,不提供缺省的拷贝构造器)

Body(Body other){
idNum=other.idNum;
name=other.name;
orbits=other.orbits;
}

5.6方法

  •          访问修饰符
方法修饰符说明
static静态方法,只能处理静态的变量和静态的方法
abstract当前类没有定义方法的体,在子类中定义
final子类不能改写该方法
synchronized同步型,避免同时访问时数据损毁
native本地方法
strictfp严格浮点数
  •                 可变参数:允许调用方法时传入不定长度的参数,本质上是基于数组的实现
void foo(String ... args);
void foo(String[] args);
形参值
形参传递到方法中的值改变形参值对实参的影响
基本类型(int char)实参值得一个拷贝
对象引用传来的是对象的引用,而不是对象本身

5.9 main方法

每个类都可以有各自的main方法,易于进行各自的代码检测

子类的main方法会覆盖父类的main方法,所以不会引起混淆


5.10 native方法

用于编写使用已有而非java的代码,即java可调用c、c++编写的方法

使用nitive方法,将不能保证程序的移植性和安全性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值