java学习笔记-面向对象(一)

一,java中类的成员(一):属性
(修饰符 类型 属性名 = 初始化值)
在方法体外,类体内声明的变量称为成员变量。
在方法体内部声明的变量称为局部变量。
成员变量与局部变量的区别:
成员变量:
1. 成员变量定义在类中,在整个类中都可以被访问。
2.成员变量分为类成员变量和实例成员变量,实例变量存在于对象所在的堆内存中。
3.成员变量有默认初始化值。
4.成员变量的权限修饰符可以根据需要,选择任意一个
局部变量:
1.局部变量只定义在局部范围内,如:方法内,代码块内等。
2.局部变量存在于栈内存中。
3.作用的范围结束,变量空间会自动释放。
4.局部变量没有默认初始化值,每次必须显式初始化。
5.局部变量声明时不指定权限修饰符

类的成员(二) 方法
修饰符 返回值类型 方法名 ( 参数列表) {
方法体语句;
}
修饰符:public private protected等(权限不同)
public class Animal{
private int age;
public int getAge(){}
public void setAge(int i ){
age = i;
}
}

二,对象的创建与使用
1.使用new 构造器(构造方法)创建一个新的对象
2.如果创建了一个类的多个对象,对于类中定义的属性,每个对象都拥有各自的一套副本,且互不干扰
3.当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。byte short int 为0,long :0L,float:0.0F,double:0.0D,char:‘ ’空,boolean:false ,引用类型:null

要掌握对象的使用及内存分析。

public static void main(String[] args) {
        Car c1 = new Car();

        c1.info();
        c1.setName("BMW");
        c1.setWheel(4);
        c1.info();
``

class Car {

String name;
int wheel;

public void info() {

    System.out.println("name: " + name + " wheel: " + wheel);
}

public void show() {
    System.out.println("It is a car");
}

public String getName() {
    return name;
}

public void setName(String n) {
    name = n;
}

public void setWheel(int w) {
    wheel = w;
}

}

三,方法的重载:
在同一个类中允许一个以上的同名方法,只要它们的参数个数或者参数类型不同就行。
特点:与返回值的类型无关,就看参数列表并且参数列表必须不同,调用时根据方法参数列表的不同来区别。
public int getSum(int i, int j) {
    return i + j;
}

public int getSum(int i, int j, int k) {
    return i + j + k;
}

public double getSum(double d1, double d2) {
    return d1 + d2;
}

public void getSum(double d1, double d2, double d3) {
    System.out.println(d1 + d2 + d3);
}

}

四,方法的参数传递:
方法必须有其所在类或对象调用才有意义。
参数:
形参:方法声明时的参数
实参:方法调用时实际传给形参的参数值
Java里方法的参数传递方式只有一种:**值传递**。  即将实际参数值的副本传入方法内,而参数本身不受影响。

class DataSwap {
public int a;
public int b;
}
public static void swap(DataSwap ds) {
int tmp = ds.a;
ds.a = ds.b;
ds.b = tmp;
System.out.println(“swap方法里,a Field的值是” + ds.a + “;b Field的值是” + ds.b);
}

public static void main(String[] args) {
    DataSwap ds = new DataSwap();
    ds.a = 6;
    ds.b = 9;
    swap(ds);
    System.out.println("交换结束后,a Field的值是" + ds.a + ";b Field的值是" + ds.b);
}

“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值