JAVA自学笔记07

1、构造方法

1) 例如:Student s = new Student();//构造方法

System.out.println(s);// Student@e5bbd6

2)功能:给对象中的数据进行初始化

3)格式:方法名与类名相同,没有具体的返回值类型(包括void),没有具体的返回值

public 类名(){…;};

4)注意事项:如果不提供构造方法,系统将给出默认的无参构造方法,若已给出,系统不再给出构造方法,可以被重载。

5)重载格式:可以有参数列表即可以在构造方法中为变量赋初值

2、类的成员方法

1)划分:void/有明确返回值、带参/无参

2)类的组成:成员变量、成员方法、构造方法例题1

例题1:定义一个标准学生类

class Student{
private String name;
private int age; public Student(String name,int age){
this.name=name;
this.age=age;
}
public String getName{
return name;
}
public String getAge{
return age;
}
}

例题2:请说明Student s = new Student();

中内存做了哪些事情

①加载Student.class文件进内存

②在栈内存为s开辟空间

③在堆内存为学生对象开辟空间

④对学生对象的成员变量进行默认初始化

⑤对学生对象的成员显示进行默认初始化

⑥通过构造方法对学生对象的成员变量赋值

⑦学生对象初始化完毕,把对象地址赋值给s变量

import 要在所有clase之上

例题3:定义一个类Demo,其中定义一个求两个数据和的方法

class Demo{
public in sum(int a,int b){
return a+b;
}
}//变量仅当描写类信息时才定义为成员变量,变量范围越小越好

3、static

1)作用:针对多个对象有共同的值的时候

2)被所有对象共有,一旦被修改则全部都将改变

3)特征;①随着类的加载而加载

②优先于对象而存在,创建对象时已加载好类

③被所有类的对象共享,如果某个成员变量是被所有对象共享的,那么它是静态的

④可以通过类名调用:类名.变量名;故它被称为类成员

4)内存图解:



5)注意事项:

①静态方法中无this关键字:因为静态时随着类的加载而加载,this是随着对象的创建而存在的,静态比对象先存在

②静态方法只能访问静态成员变量和静态成员方法,而非静态方法可以访问任何成员变量

6)静态变量和成员变量的区别:

4、main方法

1)public:公共的访问权限

static:不需要创建对象,通过类名就可以被JVM调用

void:没有返回值

main:方法入口标识

String args[]:字符串数组,长度为0

JAVA自学笔记07的更多相关文章

  1. JAVA自学笔记09

    JAVA自学笔记09 1.子类的方法会把父类的同名方法覆盖(重写) 2.final: 1)可修饰类.方法.变量 2)修饰类时:此时该类变为最终类,它将无法成为父类而被继承 3)修饰方法时:该方法将无法 ...

  2. JAVA自学笔记05

    JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return ...

  3. JAVA自学笔记06

    JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...

  4. JAVA自学笔记04

    JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+ ...

  5. JAVA自学笔记10

    JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口 ...

  6. JAVA自学笔记13

    JAVA自学笔记13 1.StringBuffer类 1)线程安全的可变字符序列 线程安全(即同步) 2)StringBuffer与String的区别:一个可变一个不可变 3)构造方法: ①publi ...

  7. JAVA自学笔记11

    JAVA自学笔记11 1:Eclipse的安装 2:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字 A:创建项目 B:在src目录下创建包.cn.itcast C:在cn.i ...

  8. JAVA自学笔记14

    JAVA自学笔记14 1.正则表达式 1)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己的特殊应用 2)组成规则: 规则字符在java.util.rege ...

  9. JAVA自学笔记12

    JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...

随机推荐

  1. [转]Centos 查看端口占用情况和开启端口命令

    http://www.cnblogs.com/xqzt/p/4919191.html 1.Centos 查看端口占用 比如查看 80 端口占用情况使用如下命令: lsof -i tcp:80 2.列出 ...

  2. vscode git

    Git 全局设置: git config --global user.name "xxxx" git config --global user.email "123456 ...

  3. day5.python列表练习题

    写代码,有如下列表,按照要求实现每一个功能 li = [“alex”, “WuSir”, “ritian”, “barry”, “wenzhou”] 1.计算列表的长度并输出 print(len(li ...

  4. HTML5拖放牛刀小试

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. Python交互图表可视化Bokeh:1. 可视交互化原理| 基本设置

    Bokeh pandas和matplotlib就可以直接出分析的图表了,最基本的出图方式.是面向数据分析过程中出图的工具:Seaborn相比matplotlib封装了一些对数据的组合和识别的功能:用S ...

  6. C语言中的模运算-hdu6124(打表,找规律)

    题目链接:https://vjudge.net/problem/HDU-6124 题目描述: 题目大意就是给你一个数,判断这个数 % 其它数后共有几种结果. 这题对我来说最大的难点是我不太知道每个数 ...

  7. Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)

    Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)    转 https://blog.csdn.net/lhl1124281072/article/details/800 ...

  8. hdu1429 胜利大逃亡(续) 【BFS】+【状态压缩】

    题目链接:https://vjudge.net/contest/84620#problem/K 题目大意:一个人从起点走到终点,问他是否能够在规定的时间走到,在走向终点的路线上,可能会有一些障碍门,他 ...

  9. Django之ORM操作总结

    Django之ORM总结 表结构 from django.db import models # 一对多:班级与学生 # 多对多:班级与老师 # Create your models here. #创建 ...

  10. 依赖配置中心实现注有@ConfigurationProperties的bean相关属性刷新

    配置中心是什么 配置中心,通过key=value的形式存储环境变量.配置中心的属性做了修改,项目中可以通过配置中心的依赖(sdk)立即感知到.需要做的就是如何在属性发生变化时,改变带有@Configu ...