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. javascript扩充基本类型的功能

    可以通过给Function.prototype增加方法来使得该方法对所有函数可用. 通过给Function.prototype增加一个method方法,下次给对象增加方法的时候就不必键入prototy ...

  2. Quartz.NET作业调度框架的简单应用

    概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了 ...

  3. mysql把查询结果集插入到表理

    把表B的内容插入到表A INSERT INTO 1111_0 SELECT*FROM report_0 把查询结果集插入到表中 insert into A(a,b,c) select from B(a ...

  4. 【Android】Android 设置Activity窗体 不显示标题和全屏显示

    [一]Android 设置Activity窗体 不显示标题 android:theme="@android:style/Theme.NoTitleBar" <activity ...

  5. WPF中矢量图制作和引用

    WPF程序有时需要适配不同大小的屏幕,图片是像素图的话,拉伸之后会变模糊,影响美观度,因此可以考虑使用矢量图.网上找到了相应的介绍:http://learnwpf.com/post/2006/06/0 ...

  6. docker compose启动服务超时重启记录

    一.停docker systemctl stop docker 然后ps -aux grep docker发现有些docker进程还是存在,此时强杀存在的docker进程:ps -aux|grep d ...

  7. vue 常用手册

    基本使用 引入vue.js 创建Vue对象, 指定选项对象 el : 指定dom标签容器的选择器 data : 指定初始化状态属性数据的对象对象/函数(返回一个对象) 页面中 使用v-model: 实 ...

  8. echarts入门

    一直好奇,今晚就学习了一番,算是入门的级别,学习总是一个渐进的过程. 一路记录,一路足迹. 一:学习资料 1.主要参考的代码 https://github.com/shengxinjing/imooc ...

  9. Python GUI - tkinter

    目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...

  10. 解决java编译错误:编码GBK的不可映射字符

    新建java文件,存储时Encoding选择了UTF-8, 由于语句中包含中文,javac编译时报错,提示"编码GBK的不可映射字符": 解决办法: 1.使用javac -enco ...