面向对象-类-成员变量-局部变量-this
1、能够理解面向对象的思想
面向对象是基于面向过程的编程思想,强调的是对象,由对象去调用功能。它是一种更符合人类习惯的编程思想,可以将复杂的事情简单化,将我们的角色从执行者变成了指挥者。
2、能够明确类与对象关系
类是客观世界中相关事物的基本特征抽象。对象是该类事物的具体体现。比如手机是一个类,而iphone7就是一个对象。
3、定义学生类
public class Student{
//成员变量
String name;
int age;
//成员方法
public void tell(){
System.out.println("我叫:"+ name +",今年"+age+"岁。");
}
}
public static void main StudentDemo{
//实例化对象
Student stu = null;
stu = new Student;
stu.name = "laohu";
stu.age = 28;
stu.tell();
}
4、能够创建对象,并且使用对象访问类中的成员
public Student{
String name;
int age;
}
public StudentDemo{
public static void main(String[] args){
Student stu = new Student;
stu.name = "zhoa";
stu.age = 30;
}
}
5、能够说出成员变量和局部变量的区别
1)位置不同:成员变量在类中,方法外;局部变量在方法中。
2)内存位置不同:成员变量在堆区;局部变量在栈区;
3)初始化:局部变量需初始化;成员变量有默认值,无需初始化;
4)生命周期不同:局部变量随方法的调用而产生,随方法的调用完毕而消失;成员变量随对象的产生而产生,随对象的消失而消失。
6、能够用封装的思想定义一个标准类--POJO(如何理解封装?)
封装是面向对象的三大特征之一(继承和多态),它指的是将对象的状态信息隐藏在对象内部,不允许外部直接访问,而是通过该类提供的方法来实现对内部信息的操作和访问。
封装是面向对象语言对客观世界的模拟,良好的封装可以实现以下目的:
(1)隐藏类的实现细节;
(2)让使用者只能通过事先预定的方法访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问;
(3)可进行数据检查,从而保证对象信息的完整性;
(4)便于修改,提高代码的可维护性;
为实现良好的封装,可从以下两方面考虑:
(1)隐藏成员变量和实现细节,不允许外部直接访问;
(2)暴露方法,让方法来控制对这些成员变量进行安全的访问与操作;
7、能够说出this可以解决的问题
1)表示类中的属性;
2)调用本类中的构造方法;
3)表示当前对象。
8、能够运用构造方法创建对象
class Student{
public Student(String name, int age){
if(age>0){
this.name = name;
return name;
}else{
return 0;
}
if(name ){
}
this.name = name;
this.age = age;
system.out.println("我叫:"+name+",今年"+age+"岁。")
}
}
public class StudentDemo{
public static void main(String[] args){
Student stu = new Student("laohu",30);
}
}
面向对象-类-成员变量-局部变量-this的更多相关文章
- Java中变量之局部变量、本类成员变量、父类成员变量的访问方法
变量:局部变量.本类成员变量.父类成员变量 如何访问:如果变量名相同,则采用就近原则,哪个变量离所要调用的访问最近,那就么就输出,优先顺序为:局部变量 > 本类成员变量 > 父类成员变量 ...
- 【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态
一. Objective-C 方法详解 1. 方法属性 (1) OC 方法传参机制 Object-C 方法传参机制 : OC 中得参数传递都是值传递, 传入参数的是参数的副本; -- 基本类型 (值传 ...
- Objective-C类成员变量深度剖析
目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...
- 成员变量&&局部变量
一.相同点:1.都遵循变量的声明格式:(修饰符) 数据类型 变量名=初始化值 2.都有各自的作用域 二.不同点:1.声明的位置不同 成员变量:声明在类内,方法外. 局部变量:声明在方法内. ...
- AJPFX总结面向对象中成员变量和成员方法的定义
//面向对象中成员变量和成员方法的定义格式:========================================= 成员变量定义在类中方法外,可以被该类中所有方法使用. ...
- Objective-C类成员变量深度剖析--oc对象内存模型
目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...
- 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...
- static 类成员变量 和 static const类成员变量
1.使用static类的优点: (1)避免与其他类的成员或者全局变量冲突 (2)可以封装 (3)阅读性好 2.static 数据成员独立于该类的任意对象而存在 static数据成员的类型可以是该成员所 ...
- Qt一个project调用还有一个project的类成员变量
一句两句话已经不能表达如今的激动情绪了.唯有感叹知识的博大精深,并把感叹转变为文字. 同一个project调用其它类成员变量很easy. 如: 定义 Test1.h中申明成员变量 class A { ...
随机推荐
- Win32环境下代码注入与API钩子的实现
本文详细的介绍了在Visual Studio(以下简称VS)下实现API钩子的编程方法,阅读本文需要基础:有操作系统的基本知识(进程管理,内存管理),会在VS下编写和调试Win32应用程序和动态链接库 ...
- ceph与openstack对接(cinder、glance、nova)
对接分为三种,也就是存储为openstack提供的三类功能1.云盘,就好比我们新加的硬盘2.原本的镜像也放在ceph里,但是我没有选择这种方式,原因是因为后期有要求,但是我会把这个也写出来,大家自己对 ...
- bzoj3832
拓扑排序+set 如果我们直接记录所有路径是不行的,那么我们要降低路径的数量,于是我们把最短路径转换到边上,这样我们就只有m条路径了. 先计算出f[i]和g[i]表示正反拓扑最长链,把所有g插到set ...
- debugs
import os def get_nova_credentials_v2(): d = {} d['version'] = '2.0' d['username'] = os.environ['OS_ ...
- 菜鸟-@responsebody 理解-用法
@responsebody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@respo ...
- ElasticSearch基础之批量操作(mget+mbulk)
在前面的演示中,我们都是基于一次http查询,每次查询都要建立http的三次握手请求,这样比较耗费性能!因此ES给我们提供了基本的批量查询功能,例如如下的查询,注意里面的index是可以任意指明的 ...
- C#基础:使用Thread创建线程
Thread类可以创建和控制线程,Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadStart类型的委托参数.下面我们用一个例子来解释怎样用Thread类 ...
- meta标签常用属性
Keywords(关键词) 说明:告诉搜索引擎你网页的关键字(keywords)使用方法:<meta name="keywords" content="标签,属性, ...
- Unity开发MMOARPG游戏解决方案
http://www.csdn.net/article/2015-05-07/2824634 天神互动是一家已经上市的以研发MMOARPG游戏为主的技术公司,<苍穹变>是天神互动研发的第一 ...
- WPF 中如何使得DataGrid的Column有鼠标点击相应
http://stackoverflow.com/questions/5895803/how-do-i-capture-click-events-on-a-datagrid-column-header ...