面向对象2

面向对象2


this关键字

  • 在编程时,为了区分成员变量和局部变量,在编码时可以使用this关键字进行指示(成员变量前+this;

    局部变量前不+this)。

  • 使用this调用的是成员变量或成员方法

  • this在实际运行时,表示当前正在调用此方法的对象

  • this的使用实例:

public student{//不加this
	String name;
	int age;
	String gender;
	public student(String name,int age,String gender){
	name=name;
	age=age;
	gender=gender;
	}
}
public class StudentTst {
    public static void main(String[] args) {
        Student student=new Student("zhangsan",100,"man");
        System.out.println(student.name);
        System.out.println(student.age);
        System.out.println(student.gender);
    }
}

结果:

lalala


public student{//加this
	String name;
	int age;
	String gender;
	public student(String name,int age,String gender){
	this.name=name;
	this.age=age;
	this.gender=gender;
	}
}
public class StudentTst {
    public static void main(String[] args) {
        Student student=new Student("zhangsan",100,"man");
        System.out.println(student.name);
        System.out.println(student.age);
        System.out.println(student.gender);
    }
}

结果:

lalala


public class Student {
    String name;
    int age;
    String gender;
    public Student(){
        this("zhangsan",100,"man");
    }
    public Student(String name,int age,String gender){
        this.name=name;
        this.age=age;
        this.gender=gender;
    }
}
public class StudentTst {
    public static void main(String[] args) {
        Student student=new Student();//此处Student里不需再传参
        System.out.println(student.name);
        System.out.println(student.age);
        System.out.println(student.gender);
    }
}

运行结果:

lalala


static关键字

  • 静态。可以用来修饰类的成员变量、成员方法、代码块、内部类

  • 特点:

    (1)随着类的加载而加载

    (2)优先于对象存在

    (3)静态的方法的方法中不能使用非静态的成员变量,非静态的方法中可以使用静态变量;

    (4)修饰的成员,被所有对象所共享

    (5)可不创建对象,直接使用类名调用

    (6)静态变量在内存中与类一样只有一份(即内存中只存储一份,可以被共享、访问、修改。属于类,在内存中之加载一次);

    (7)当方法中不需要使用非静态变量时,可以将方法设计为静态方法,不需要使用对象,直接通过类名访问;

public class Student {
    String name;
    int age;
    String gender;
    static String school="guangmingjiao";
    //static修饰的量就是静态变量
    //当所以类的对象某个属性值相同时,该值可以用静态变量将其定义
    }
public class StudentTst {
    public static void main(String[] args) {
System.out.println(Student.school);//可以不创建、使用对象,直接调用
    }
}

笔者思考:

static(静态变量)所定义的变量优先于对象而存在。所有对象公用一个静态变量,其中任意一个static变量改变,其余对象内的静态变量也随之改变。类中的static可以不用创建对象,直接调用。

代码块

定义在类中,类似于一个没有名字的方法。

种类:

实例代码块

创建对象时自动调用

{

}

静态代码块

类加载时自动调用:

通过类名访问静态成员时,类会加载;

在一个类中使用main方法时,也会加载类;

对象被创建时类也会被加载;

类只被加载一次。

static{

}

  • 如果有多个实例代码块或多个静态代码块会按照先后顺序一 一执行。

  • 类的命名空间(可以理解为文件夹);

  • 是类名的组成部分;

  • 类名(全类名)=包名(地址)+类名简称;

  • 一个类属于不同的包可以避免同名类的问题;

  • 不能一次导入两个名词相同,不同包的类;

  • 包名单词全部小写;


命名规范:

在包名中,可以使用.号来区分包的级别;包名一般情况下是小写
第一级 指该项目的类型,如com,org,gov等,
第二级 指项目所开发或者运行的公司名称,如:oracle,sun,huawei等
第三级 指项目的名称,如:bcms,oa,erp,cms等
第四级 指项目模块的名称,如:bean,action,exception等

  • 导入外部包时需要使用关键字“import”

命名规范:

在包名中,可以使用.号来区分包的级别;包名一般情况下是小写
第一级 指该项目的类型,如com,org,gov等,
第二级 指项目所开发或者运行的公司名称,如:oracle,sun,huawei等
第三级 指项目的名称,如:bcms,oa,erp,cms等
第四级 指项目模块的名称,如:bean,action,exception等

  • 导入外部包时需要使用关键字“import”
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值