黑马程序员——Java基础---面向对象(构造方法和static关键字)
来源:互联网 发布:云财经大数据 编辑:程序博客网 时间:2024/05/16 11:12
——Java培训、Android培训、iOS培训、UI培训、PHP培训、期待与您交流! ——
一、构造方法给成员变量赋值
1.格式
- 方法名与类名相同(大小也要与类名一致)
- 没有返回值类型,连void都没有
- return;
2.注意事项
- 如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
- b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
- 注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法。
3.给成员变量赋值的两种方式的区别
- setXxx()方法
修改属性值 - 构造方法
给对象中属性进行初始化
4.创建一个对象的步骤
class Demo1_Student { public static void main(String[] args) { Student s = new Student(); s.show(); }}class Student { private String name = "张三"; private int age = 23; public Student() { name = "李四"; age = 24; } public void show() { System.out.println(name + "..." + age); }}
- Student s = new Student();
- 1,Student.class加载进内存
- 2,声明一个Student类型引用s
- 3,在堆内存创建对象,
- 4,给对象中属性默认初始化值
- 5,属性进行显示初始化
- 6,构造方法进栈,对对象中的属性赋值,构造方法弹栈
- 7,将对象的地址值赋值给s
二、static关键字
1.static关键字的特点
- 随着类的加载而加载
- 优先于对象存在
- 被类的所有对象共享
- 可以通过类名调用
2.static的注意事项
- 在静态方法中是没有this关键字的
- 如何理解呢?
- 静态是随着类的加载而加载,this是随着对象的创建而存在。
- 静态比对象先存在。
- 如何理解呢?
- 静态方法只能访问静态的成员变量和静态的成员方法
- 静态方法:
- 成员变量:只能访问静态变量
- 成员方法:只能访问静态成员方法
- 非静态方法:
- 成员变量:可以是静态的,也可以是非静态的
- 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
- 简单记:
- 静态只能访问静态。
- 静态方法:
3.静态变量和成员变量的区别
- 静态变量也叫类变量 成员变量也叫对象变量
- 所属不同
- 静态变量属于类,所以也称为为类变量
- 成员变量属于对象,所以也称为实例变量(对象变量)
- 内存中位置不同
- 静态变量存储于方法区的静态区
- 成员变量存储于堆内存
- 内存出现时间不同
- 静态变量随着类的加载而加载,随着类的消失而消失
- 成员变量随着对象的创建而存在,随着对象的消失而消失
- 调用不同
- 静态变量可以通过类名调用,也可以通过对象调用
- 成员变量只能通过对 象名调用
4.main方法的格式详细解释
- 格式
- public static void main(String[] args) {}
- 针对格式的解释
- public 被jvm调用,访问权限足够大。
- static 被jvm调用,不用创建对象,直接类名访问
- void被jvm调用,不需要给jvm返回值
- main 一个通用的名称,虽然不是关键字,但是被jvm识别
- String[] args 以前用于接收键盘录入的
4.工具类中使用静态
- 制作一个工具类
- ArrayTool
- 1,获取最大值
- 2,数组的遍历
- 3,数组的反转
public class ArrayTool { private ArrayTool(){}//私有构造方法 public static int getMax(int[] arr) { int max = arr[0]; for (int i = 1;i < arr.length ;i++ ) { if (max < arr[i]) { max = arr[i]; } } return max; } public static void print(int[] arr) { for (int i = 0;i < arr.length ;i++ ) { System.out.print(arr[i] + " "); } } public static void revArray(int[] arr) { for (int i = 0;i < arr.length / 2 ;i++ ) { int temp = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i] = temp; } }}
三、说明书的制作过程
- 1.对工具类加入文档注释
- 2.通过javadoc命令生成说明书
- @author(提取作者内容)
- @version(提取版本内容)
- javadoc -d 指定的文件目录 -author -version ArrayTool.java
- @param 参数名称//形式参数的变量名称@return 函数运行完返回的数据
——Java培训、Android培训、iOS培训、UI培训、PHP培训、期待与您交流! ——
0 0
- 黑马程序员——Java基础---面向对象(构造方法和static关键字)
- 黑马程序员—Java面向对象(类和对象、封装、构造方法、this关键字、static关键字)
- 黑马程序员——高新技术---Java基础语法—面向对象_构造方法,static 关键字
- 黑马程序员---java基础---面向对象中的构造方法及static关键字,变量的问题
- 黑马程序员——面向对象——构造方法与static关键字
- Java面向对象——构造方法和关键字(static、this、final、super)
- 黑马程序员——Java基础——构造方法,static关键字,以及继承的详解
- 黑马程序员——Java基础---面向对象(static关键字)--第6天--第74-81集
- 黑马程序员——Java面向对象之构造方法、静态、this关键字
- 黑马程序员笔记——Java面向对象之static关键字和单例设计模式
- 黑马程序员——Java基础:面向对象、this关键字
- 黑马程序员--面向对象之一:面向对象概念、类和对象的关系、封装、构造函数、this关键字、static关键字
- 黑马程序员——Java基础语法 之面向对象(概念,特征,this,static关键字,代码块)
- 黑马程序员 Java面向对象(封装,构造函数,this关键字,静态static)
- 黑马程序员-----java面向对象之封装、构造函数、this关键字、static静态总结*
- 黑马程序员-------- java面向对象 封装、构造函数、this static关键字、单例设计
- 黑马程序员——Java面向对象(一)之匿名对象、代码块、static关键字等
- 黑马程序员———面向对象之封装及this和static关键字
- (loadrunner 二)win10环境下录制脚本问题解决方案
- Python 线程和进程
- Java中使用Jedis操作Redis
- Maven常用的构建命令
- vimrc
- 黑马程序员——Java基础---面向对象(构造方法和static关键字)
- LDA-math-认识Beta/Dirichlet分布
- 使用国内镜像安装composer 在Linux--centos7上面
- LDA-math-神奇的Gamma函数
- 进程控制块PCB
- LDA-math-MCMC 和 Gibbs Sampling
- C++第7次实验—作业
- 正态分布的前世今生(上)
- C++作业7