【2018-8-11】【day06】

import java.util.Arrays;

public class array01 {
    public static void main(String[] args) {
        int [] array = {2,4,6,8,9};
        System.out.println(Arrays.toString(array));
    }
}
  1. 成员变量是直接定义在类当中的,在方法外面。
  2. 成员方法不要写static关键字。
  1. 过程:
  1. 导包:也就是指出需要使用的类,在什么位置。

Import 包名称.类名称;

对于和当前类属于同一个包的情况,可以省略导包语句不写。

  1. 创建 格式:

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

Student stu = new Student()’

  1. 使用:

使用成员变量:对象名.成员变量名。

使用成员方法:对象名.成员方法名(参数)

 

  1. 当一个对象作为参数,传递到方法当中时,实际上传递进去的是对象的地址值。
  2. 当使用一个对象类型作为方法的返回值时,返回值其实就是对象的地址值。

package yap01;

public class yap11 {
    public static void main(String[] args) {
        Phone two = getPhone();
        System.out.println(two.brand);
        System.out.println(two.price);
        System.out.println(two.color);
    }
    public static Phone getPhone(){
        Phone one = new Phone();
        one.brand="苹果";
        one.price = 8388;
        one.color="玫瑰金";
        return one ;
    }
}

  1. 局部变量和成员变量:
  1. 定义的位置不一样

局部变量:方法内部

成员变量:方法外部,直接在类当中

  1. 作用范围不一样

局部变量:只有方法当中可以使用

成员变量:整个类全都可以通用。

  1. 默认值不一样

局部变量:没有默认值,如果想要使用,必须手动赋值。

成员变量:如果没有赋值,会有默认值,规则和数组一样。

  1. 内存的位置不一样

局部变量:位于栈内存

成员变量:位于堆内存

  1. 生命周期不一样

局部:随着方法进栈而诞生,出栈消失

成员:随着对象创建而诞生,随着对象被垃圾回收而消失。

  1. 面向对象三大特征:封装、继承、多态

封装在Java中:

  1. 方法就是一种封装
  2. 关键字private也是一种封装

问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。

解决:用private关键字将需要保护的成员变量进行修饰。

 

package anyapei01;

public class yap11 {
    private int age;
    String name;
    public void show(){
        System.out.println("我叫"+name+a);
    }
    public void setAge(int num){
        age = num ;
    }
    public int getAge(){
        return age;
    }
}
62.	package yap01;

public class Student {
    private String name;
    private int age;
    private boolean male;//对于基本类型Boolean,set不变,get方法写成is

    public void setMale(boolean b){
        male = b;
    }
    public boolean isMale(){
        return male;
    }
    public void setName(String str){
        name = str ;
    }
    public String getName(){
        return name;
    }
    public void setAge(int num){
        age = num;
    }
    public int getAge(){
        return age;
    }


}
package yap01;

public class yap11 {
    public static void main(String[] args) {
        Student stu = new Student();

        stu.setName("dakeai");
        stu.setAge(20);
        stu.setMale(true);

        System.out.println(stu.getName());
        System.out.println(stu.getAge());
        System.out.println(stu.isMale());
    }
}
  1. 当方法的局部变量和成员变量重名的时候,根据“就近原则”,优先使用局部变量。

如果需要访问本类中的成员变量,需要:  this.成员变量名

(通过谁调用的方法,谁就是this)

例如:

package yap01.demo11;

public class Person {
    String name;
    public void sayHello(String name){
        System.out.println(name+"hello,I am"+this.name);
    }
}

package yap01.demo11;

public class Person1 {
    public static void main(String[] args) {
        Person person = new Person();
        person.name = "yap";
        person.sayHello("hah");
    }
}
  1. 构造方法:

Public 类名称(参数类型 参数名称){

   方法体

}

 

注意事项:

  1. 构造方法的名称必须和所在类名称完全一样,大小写也要一样。
  2. 构造方法不要写返回值,连void也不写。
  3. 构造方法不能return一个具体的返回值。
  4. 如果没有编写构造方法,编译器会默认赠送一个构造方法,没有参数、方法体什么事情也不做。
  5. 一旦编写了至少一个构造方法,那么编译器不再赠送。
  6. 构造方法也可以重载

例如:

public class Person {
    public Person(){
        System.out.println("构造");
    }

    public static void main(String[] args) {
        Person person = new Person();
    }
}

 

new 对象就是在调用构造方法。

  1. 一个标准的类要有:
  1. 所有的成员变量都要使用private关键字修饰。
  2. 为每一个成员变量编写一对getset方法
  3. 编写一个无参数的构造方法。
  4. 编写一个全参数的构造方法。
  1. Alt+ins 快捷键可以直接生成构造方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值