JAVA基础-U7 面向对象编程(基础部分)-作用域
作用域
在java编程中,主要的变量就是属性(成员变量)和局部变量。
全局变量:也就是属性,作用域为整个类体。可以不赋值直接使用,因为有默认值。
局部变量:一般指的是在成员方法中定义的变量(除了属性之外的其他变量,作用域为定义它的代码块中)。局部变量必须赋值后使用,因为没有默认值。
注意事项和使用细节
属性和局部变量可以重名,访问时遵循就近原则
在同一个作用域中,必须在同一个成员方法中,两个局部变量不能重名
属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。
局部变量生命周期较短,伴随着它的代码块执行而创建,伴随着代码块的结束而销毁,即在一次方法调用过程中。
class Person{String words = "I don't like Cola.";public void say(){String words = "I like Cola.";System.out.println(words); //I like Cola.}
}
作用域范围不同
全局变量/属性:可以被本类使用,或其他类调用
局部变量:只能在本类中的对应方法中使用
修饰符不同
全局变量/属性:可以加修饰符
局部变量:不可以加修饰符
class Person{int age = 5;
}
class Dog{public void test(Person p){System.out.println(p.age);//5}
}
JAVA基础-U7 面向对象编程(基础部分)-作用域相关推荐
- JAVA基础-U7 面向对象编程(基础部分)-构造器
构造方法/构造器 基本语法 构造方法又叫构造器(constructor),是类的一种特殊方法,它的主要作用是对新对象的初始化 [修饰符] 方法(形参列表){方法体; } 构造器的修饰符可以默认,也可以 ...
- JAVA基础-U7 面向对象编程(基础部分)-可变参数
可变参数 基本概念 java允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法 本质上是将其当成数组对待 基本语法 访问修饰符 返回类型 方法名(数据类型... 形参名){} 快速入门 ...
- JAVA基础-U7 面向对象编程(基础部分)-成员方法
成员方法 快速入门 添加speak成员方法,输出"我是一个好人" 添加cal01成员方法,可以计算从1+-+1000的结果 添加cal02成员方法,该方法可以接受一个数n,计算从1 ...
- JAVA基础-U7 面向对象编程(基础部分)-类与对象
类与对象(OOP) 快速入门 类是抽象的,概念的,代表一类事物.即它是数据类型 对象是具体的,实际的,代表一个具体事物.即它是实例 类是对象的模版,对象是类的一个个体,对应一个实例 养猫问题: 张老太 ...
- JAVA基础-U7 面向对象编程(基础部分)-方法重载
方法重载(Overload) 基本介绍 java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致 eg. System.out.println(); //out是PrintStream类型 ...
- JAVA基础-U7 面向对象编程(基础部分)-递归
方法递归调用 递归能解决什么问题 各种数学问题:8皇后问题.汉诺塔.阶乘问题.迷宫问题,球和篮子的问题- 各种算法问题:快排.归并排序.二分查找.分治算法- 用栈解决的问题(递归代码比较简洁) 递归调 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...
- Java基础-初识面向对象编程(Object-Oriented-Programming)
Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...
- Java面向对象编程(基础部分)
面向对象编程(基础部分) 类与对象 01: public class ObjectWorkDemo {public static void main(String[] args){Cat cat1 = ...
最新文章
- HubbleDotNet 简介 (转)
- 负样本修正:CVR预估时间延迟问题
- TestNG 入门教程
- 树的先序遍历的栈实现
- tmux 上滚_实践中的tmux:回滚缓冲区
- 使用promise封装ajax请求
- account.php,account.php
- 博文视点卓越书单丨Python技术成长加油站
- java文件ftp下载,java ftp下载文件夹内所有文件,java 下载ftp文件夹下所有文件
- 用python定时自动发微博_用python自动发微博
- 基于Java SSM springboot健身管理系统设计和实现
- 修炼内功的融云,以通讯中台赋能企业数字化升级
- Gradient descent拙见
- 【创业邦·年度创业人物】刘强东:十年战争与千亿美金帝国梦
- EMQ 边缘消息服务器管理套件 EMQ X Storm 发
- Android 自定义 View 三步骤
- 区块链入门系列之共识算法
- python识别图片上的文字_怎么用python识别图片中的文字-百度经验
- (转载)分享 别人的 职业故事
- Python中字典列表的使用:实现名片信息管理系统