• JavaBean 构造方法 this static 关键字


    JavaBean的特点:
    ? private 成员属性
    ? public成员方法
    ? 有get/set方法对成员变量进行赋值/取值
    ? 有空构造方法
    符合这些条件的称为标准的JavaBean。


    构造方法
    [修饰符] 构造方法名(形参列表){
    //零到多条可执行语句组成构造方法的执行体
    }
    class Student{
    public Student(){
    System.out.println("这是学生类的空参构造方法");
    }
    }
    class Person{
    private int id;
    public Person(){} //空参构造方法
    public Person(int a ){ //重载构造方法,有一个int型的参数
    id = a ; //在构造方法中对实例变量赋值
    System.out.println("这是一个带参的构造方法");
    }
    public Person(int a ,int b){
    System.out.println("这是一个带两个参数的构造方法");
    }
    }
    构造方法定义时注意事项:
    1.构造方法必须和类同名
    2.构造方法没有返回值,也不能使用void,一旦加了返回值或者void,那么这个方法就是一个成员方法,而不是构造方法了
    class Demo{
    //public Demo(){} 如果没有定义任何构造方法的时候,系统自动加上一个无参构造方法
    public void show(){
    System.out.println("Hello world");
    }
    }
    class Demo{
    public Demo(int id){
    System.out.println("这是一个带参的构造方法");
    }
    }
    //定义一个员工类,自己分析出几个成员,然后给出成员变量,构造方法,getXxx()/setXxx()方法,
    //以及一个显示所有成员信息的方法。并测试。
    class Employee{
    private String name;
    private String employeeId;
    private int age;
    //构造方法
    public Employee(){}
    //getXxx()/setXxx()方法
    public String getEmployeeId(){
    return empoloyeeId;
    }
    public void setEmployeeId(String employeeId){
    this.employeeId=empoloyeeId;
    }
    public String getName(){
    return getName;
    }
    public void setName(String name){
    this.setName= name;
    }
    public int getAge(){
    return age;
    }
    public void setAge(int age){
    this.age = age;
    }
    public void show(){
    System.out.println("员工编码是:"+getEmployeeId +"姓名是:" +getName+"年龄是:"+getAge);
    }
    }
    class EmployeeTest{
    public static void main(String[] args){
    //创建对象
    Employee e = new Employee();
    //给成员变量赋值
    e.steEmployeeId("1234");
    e.steName("李四");
    e.setAge(19);
    e.show();
    }
    }
    //定义一个算数类MyMath,提供基本的加减乘除功能,然后进行测试。
    import java.util.Scanner{
    class MyMath{
    public int add(int a ,int b){
    return a+b;
    }
    public int sub(int a ,int b){
    return a-b;
    }
    public int num(int a ,int b){
    return a*b;
    }
    public int div(int a ,int b){
    return a/b;
    }
    }
    //测试类
    class MyMathTest{
    Scanner s = new Scanner(System.in);
    System.out.println("输入第一个数");
    int a = s.nestInt();
    System.out.println("输入第二个数");
    int b = s.testInt();
    MyMath mm = new MyMath();
    System.out.println(mm.add(a,b));
    System.out.println(mm.sub(a,b));
    System.out.println(mm.mul(a,b));
    System.out.println(mm.div(a,b));
    }
    }

    // this 关键字》》》》》》》》》》》》》》》》》》》》》》》》》》》

    class Person{
    public Person(){}
    public void sayHai(){
    System.out.println("Hello");
    }
    public void speak(String content){
    // Person p = new Person();
    // p.sayHi();
    this.syaHi();//sayHi();//调用本对象的另一个方法,可以省略this关键字
    System.out.println("我想说的是:" +content);
    }
    }

    class PersonText{
    public static void main(String[] args){
    Person pp = new Person();
    pp.speak();
    }
    }

    //this关键字在构造方法中,对成员变量进行初始化
    class Person{
    private String name;
    private int id;
    private String gender;
    public Person(){}//空参构造方法
    //带有三个参数的构造方法,由于形参和成员变量同名,用this关键字区分
    public Person(String name, int id,String gender){
    this.name=name;
    this.id = id;
    this.gender = gander;
    }
    public Person(String name,int id){
    this.name = name;
    this.id = id;
    }
    }
    //this关键字是用来指代当前对象的,在构造方法中可以使用this关键字
    //*********************************************
    有static修饰的成员变量/成员方法,称为类变量/类方法,
    没有static修饰的成员变量/成员方法称为实例变量/实例方法

    >>>>>>>>>>>静态只能访问静态
    class Teacher{
    public int num=10;
    public static int num2 = 20;
    public void show(){
    System.out.println(num);//隐含的告诉你访问的是成员变量
    System.out.println(this.num)//明确告诉你访问的是成员变量
    }
    }

    静态方法可以访问的是:
    1.静态成员变量
    2.静态成员方法
    非静态方法可以访问的是:
    1.静态/非静态成员变量
    2.静态/非静态成员方法
    总结,简单记:
    静态只能访问静态,非静态两种都能访问

    对象初始化过程包含两个方面:
    构造代码块的执行 + 构造方法的执行

    构造代码块:抽取构造方法中共同的语句,在构造方法执行前执行
    静态代码块:在类加载时执行一次,用于对类(成员变量)进行初始化

     

     

  • 相关阅读:
    如何选出一支优秀的债券基金?
    来吧,今天说说股票型基金
    来吧,帮你认识基金
    债券基金有A、有B、还有C,到底买哪种?
    基金到底分几类
    来吧,一个指标让你选到优秀的“固收+"基金
    来吧,带你读懂债券基金
    Windows 彻底删除文件
    IntelliJ IDEA 工程、模块常用操作
    IntelliJ IDEA 创建项目(开发第一个程序)
  • 原文地址:https://www.cnblogs.com/Chasingdreams/p/6642238.html
Copyright © 2020-2023  润新知