首页 > 编程语言 >学习Java第四周

学习Java第四周

时间:2024-07-27 19:09:01浏览次数:15  
标签:Java 变量 形参 修饰符 学习 Person 四周 方法 public

本周学习
一、类和对象
1.定义类

【修饰符】class 类名
{
零个到多个构造器定义
零个到多个成员变量
零个到多个方法
}

修饰符:public、final、abstract(可省略)
构造器:一个类创建对象的根本途径。若需要系统会提供默认构造器。
2.定义成员变量
【修饰符】类型 成员变量名 【=默认值】
修饰符:修饰符可以省略,也可以是public、protected、private、static、final,其中public、protected、private 三个最多只能出现其中之一,可以与static、final组合起来修饰成员变量。
3.定义方法

[修饰符] 方法返回值类型 方法名(形参列表)
{
// 由零条到多条可执行性语句组成的方法体
}

修饰符:修饰符可以省略,也可以是public、protected、private、static、final、abstract;其中public、protected、private 三个最多只能出现其中之一;abstr与static组合起来修饰方法。abstract和final最多只能出现其中之一,可以和static组合修饰方法。
4.定义构造器

【修饰符】 构造器名(形参列表)
{
// 由零条到多条可执行性语句组成的方法体
}

构造器为一个特殊的方法。
例:

public class Person
{
//下面定义了两个成员变量
  public String name;
  public int age;
//下面定义了一个say方法
  public void say(String content)
{
    system.out.println(content);
}

5.类实例化

// 使用Peron类定义一个Person类型的变量
Person p;
//通过new关键字调用Person类的构造器,返回一个Person实例
//将该Person实例赋给p变量
P = new Person();

或简写为

// 定义 p变量的同时并为 p变量赋值
Person p = new Person();

6.访问对象

// 访问 p的 name 实例变量,直接为该变量赋值
P.name“李刚”;
// 调用 p的say()方法,声明 say()方法时定义了一个形参
// 调用该方法必须为形参指定一个值
P.Bay(“Java语言很简单,学习很容易!”);
// 直接输出P的name实例变量,将输出 李刚
System.out.println(P.name);

7.引用
堆内存里的对象可以有多个引用,即多个引用变量指向同一个对象,

//将p变量的值赋值给p2变量
Person p2 = p;

注:如果希望通知垃圾回收机制回收某个对象,只需切断该对象的所有引用变量和它之间的关系即可,也就是把这些引用变量赋值为null。
8.this指针
this 可以代表任何对象,当this出现在某个方法体中时,它所代表的对象是不确定的,但它的类型是确定的,它所代表的对象只能是当前类;只有当这个方法被调用时,它所代表的对象才被确定下来:谁在调用这个方法,this就代表谁
二、方法详解
1.传递机制
值传递:当方法内传递的是基本数据类型时采用值传递。
引用传递:主要发生在引用数据类型中。
2.形参个数可变的方法
方法定义时:将可变个数形参放在参数列表的最后,并在类型后面加上三个点(…)。
方法调用时:在调用带有可变个数形参的方法时,可以传入任意数量的该类型参数,或者不传入任何参数。
3.递归方法
方法体内调用它本身。
4.方法重载
在同一个类中,多个方法的参数不相同,类型不同或者数量不同。
三、成员变量和局部变量
Java变量可以分为成员变量和局部变量。
成员变量可以分为两类:实例变量和类变量。
局部变量可以分为三类:形参、方法局部变量和代码块局部变量。
1.类变量
a.生存周期
是在类的准备阶段被创建,此时系统还没有创建对应的对象。所以,类变量的创建早于实例变量。类变量会在类销毁时一同被销毁。
b.访问方式
类.类变量名
c.作用范围
整个类。
2.实例变量
a.生存周期
是在对应对象被销毁时一同被销毁。因为类一定在所有对象都被销毁时才被销毁。
b.访问方式
引用变量名.实例变量名。
c.作用范围
所属对象内。
3.成员变量和局部变量的区别
1.系统是否会默认初始化:
对于成员变量,系统会在类生成或者对象创建阶段自动为其初始化,即使成员变量没有显式赋值,系统也会为其分配内存空间并且附上零值。但局部变量除了形参外必须显式初始化(形参的初始化是调用者通过实参值传递完成的),否则系统不会为其分配内存空间。
2.在内存中的位置不同:
成员变量存储在堆内存中,与对应的类或者对象绑定。而局部变量与方法绑定,一同存储在栈内存中,方法执行结束,所有局部变量都会被销毁(代码块局部变量会在代码块结束就出栈销毁)。
四、隐藏和封装
1.三个访问控制符
public、protected、private
2.package、import、import static
五、深入构造器
1.构造器最大用处就是在创建对象时执行初始化。当程序员提供自定义构造器,系统便不再提供默认构造器。
2.构造器重载
同一个类具有多个构造器,多个构造器参数列表不同。
下周学习
面向对象(上)后五节。

标签:Java,变量,形参,修饰符,学习,Person,四周,方法,public
From: https://www.cnblogs.com/guozichan/p/18327260

相关文章

  • linux学习记录(docker)
    DockeDocker是基于Go语言实现的开源容器项目。它诞生于2013年年初,最初发起者是dotCloud公司。Docker自开源后受到业界广泛的关注与参与,目前已有80多个开源组件,逐渐形成了围绕Docker容器的完整的生态体系。dotCloud公司于2013年年底改名为DockerIoc,专注于Docker相关技术和产......
  • java 基本语法3
    1.方法的定义格式如:publicstaticvoidadd(intx,inty){returnx+y;}java的方法感觉就是c中的函数,子例程。但java是一个面向对象的语言,它的每一个方法都在类中,其中由于主方法的格式:publicstaticvoidmain(String[]args){},所以他只能调用静态的成员,所以在方法中也应该用......
  • 从零开始的JAVAday22~day28
    上周我们学习了如何定义变量,这周我们学习如何给变量起名。硬性要求:1.由数字、字母、下划线()和美元符($)组成2.不能以数字开头3.不能是关键字4.区分大小写软性要求:小驼峰命名法:存在一个单词时所有字母都小写,存在多个字母时第一个单词小写第二个单词首字母大写大驼峰命名法......
  • 学习Java进度报告
    继续学习Java,还是老样子,一看就会,一写就废.有着学过其他编程语言的经历,再学自动就会相比较,一开始就是认识各种变量,课程里给它叫字面量,但是似乎比c的简单很多.只有整数,小数,字符串,字符,布尔和null.不像c里小数又float,又是double,又是longlong啥的.为了记忆深刻,我也是......
  • 【学习笔记】线段树
    本文Markdown源代码冲刺\(3000\)行中,目前行数:\(2678\)行。【0】线段树简介【0.1】线段树是干什么的线段树是一种基于分治的树形数据结构,可以处理很多区间问题,值域问题。【0.2】线段树的形态线段树作为一棵二叉树,其左子节点维护的是左半区间的信息,右子节点维护的是右半区......
  • 基于Java的师生在线交流学习系统/线上学习管理系统/SSM的在线教学管理系统
    摘 要计算机网络与信息化管理相配合,可以有效地提高管理人员的工作效能和改进工作的质量。良好的师生在线交流学习系统可以使管理员工作得到更好的管理和应用,并有助于管理员更好地管理师生在线交流学习,并有助于解决人力管理中出现的差错等问题。因此一套好的师生在线交流学......
  • java4
    1.学习了java中的string类在Java中,String类是处理文本的核心类之一。String类是不可变的,一旦创建,字符串的内容不能更改。每次对字符串进行操作(如拼接、替换等)都会产生一个新的String对象。构造函数:String类有多个构造函数,可以从字节数组、字符数组、另一个String对象......
  • Java全栈课程之Linux——账号管理
    一、简介Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文......
  • 2024暑假第四周总结
    数组容器,可以用来存储同种数据类型的多个值需要结合隐式转换考虑容器的类型和存储数据的类型保持一致数组的定义:格式一:数据类型[]数组名int[]array格式二:数据类型数组名[]intarray[]数组初始化:在内存中,为数组容器开辟空间,并将数据存入容器中的过程数组静态初......
  • Java SE 文件上传和文件下载的底层原理
    1.JavaSE文件上传和文件下载的底层原理@目录1.JavaSE文件上传和文件下载的底层原理2.文件上传2.1文件上传应用实例2.2文件上传注意事项和细节3.文件下载3.1文件下载应用实例3.2文件下载注意事项和细节4.总结:5.最后:2.文件上传文件的上传和下载,是常见的功能。......