构造方法、成员方法的分类及使用及基本类的标准写法

一、构造方法
 构造方法:(构建创造)方法,在堆内存创建对象,可以给对象赋值
 
 格式:(同时满足)
  名字要和类名相同
  不能有void、static
  不能有返回值

 使用:
  new Person();// 构造方法的调用只有new才能用构造方法

二、成员方法的分类及使用
 属于每一个对象的方法:
  返回值:
   有返回值 public int hasValue() {
      return 100;
     }
   无返回值 public void noValue() {
      System.out.println(300 + 400);
     }

  参数:
   有参数 public void hasParam(int number) {
      System.out.println("您输入的参数是:"  +  number);
      }

   无参数 public void noParam() {
      System.out.println(100);
      }

三、基本类的标准写法
 类名、成员变量(private)、构造方法(无参、有参)、成员方法(自定义的方法没有static关键字)、get/set(封装,可以做业务逻辑判断)

 class Student {
  // 成员变量
  private int number; //学号
  private String name; //姓名
  private int age; //年龄

  // 构造方法
  public Student() {} //不要省略,自己加上
  public Student(int number, String name, int age) {//见名知意
   this.number = number;
   this.name = name;
   this.age = age;
  }
  
  // 成员方法
  public void study() {
   System.out.println("学生" + name + "在学习");
  }

  // 不是全部的set和get方法都需要,看需求
  public void setNumber(int number) {
   this.number = number;
  }
  public int getNumber() {
   return this.number;
  }

  public void setName(String name) {
   this.name = name;
  }
  public String getName() {
   return this.name;
  }

  public void setAge(int age) {
   this.age = age;
  }
  public String getAge() {
   return this.age;
  }
 }

 public static void main(String[] args) {
  // 调用自定义类有方式1:用无参的构造方法,用set赋值,get取值
  Student zhaosi = new Student();
  zhaosi.setNumber(11190002);
  zhaosi.setName("赵四");
  zhaosi.setAge(18);
  zhaosi.study();

  // 调用自定义类有方式2:用有参数的构造方法
  Student liuneng = new Student(11190001, "刘能", 60);
  liuneng.study();
 }

创建一个对象的步骤
 1、加载字节码文件(main方法那个)
 2、main方法进栈(方法区)
 3、加载第二个字节码(Student.class)文件
 4、在main方法中局部变量(栈内存)
 5、在堆内存创建对象
 6、有默认值(byte、short、int、long【0】char【'\u0000'】boolean【false】引用类型【null】)
 7、内存地址值给局部变量
 
static关键字
 static关键字可以修饰方法(main),成员属性(country)
 加载时机随着字节码加载而加载,优先堆内存中创建,加载到方法区中的静态区
 每个对象可以共用当前的静态数据,静态数据依附于类,不用创建对象就可以调用Math.random();

main方法
 public:公共的权限最大的,可访问的
 static:静态的,可以通过类名直接调用的
 void:没有返回值的
 main:java必须这么做,写错运行不了
 String[] args:执行java程序的时候还可以传递参数

Api文档
 java语言中,很多的类都已经提供了
 经验分享(我们在软件需求的时候有些类和我的业务逻辑有关系,例如日期和支付,日期这样的功能已经在javaapi中有了,可以直接使用java中现成的类Date,还可以自己写没有的业务类)

 javadoc -d .\帮助文档 -author -version ArrayTool.java

 /**
     * 当前类是可以对数组做常见操作的类
     *
  * @author 王鹏 18888888888
  * @version 1.0 2015-11-29 17:27:00
     */
 public class ArrayTool {
  private ArrayTool() {}
  /**
         * 遍历数组中的每个元素,显示出来
   * @param arr 请传入一个数组
         */
  public static void print(int[] arr) {
   ...
  }

  /**
         * 判断num数字是否存在数组arr中,返回它的下标位置
   * @param arr 请传递一个数组
   * @param num 请传入一个数字
   * @return -1、没有找到,否则返回下标值
      */
  public static int getIndex(int[] arr, int num) {
   ...
  }
 }

 ArrayTool.print(..);
 ArrayTool.getIndex(参数1, 参数2);

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值