面向对象-类-成员变量-局部变量-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 { ...
随机推荐
- codevs 1046 旅行家的预算
传送门 1046 旅行家的预算 1999年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold题解 题目描述 Des ...
- Anaconda tensorflow 安装笔记
1.安装步骤: (1)Anaconda下载Anaconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载.ps:也可 ...
- SSAS GUID 添加 行计数,非重复计数 等 遇到的莫名其妙的问题
在基于某个GUID 进行非重复性计数时 需要对GUID 转换类型,如:CAST(ColumnName as varchar(36)) 可参考:http://stackoverflow.com/ques ...
- 如何在ubuntu下使用windows下的程序(eg: .exe)
为了在ubutu下安装百度云管家,上网查了下如何在ubuntu 下安装.exe文件,其中遇到一些问题记录如下: 使用的命令: 开始时直接使用的sudo apt-get install wine 在运行 ...
- vim opencv
http://blog.csdn.net/fdl19881/article/details/7275203 ctags .vim: http://www.vim.org/scripts/script. ...
- 2.3 Hive的数据类型讲解及实际项目中如何使用python脚本对数据进行ETL
一.hive Data Types https://cwiki. apache. org/confluence/display/HiveLanguageManual+Types Numeric Typ ...
- Identity Server 4 原理和实战(完结)_Authorization Code Flow 实例
Code在Oauth2.0和OpenId Connect里面分别叫做不同的名字 OAuth只介绍了如何授权.没有介绍如何身份认证. OpenId Connect:既规定了怎么授权,也规定了怎么身份认证 ...
- Laravel之简单的学生信息管理平台
laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器.视图.模板.模型.中间件.路由规则的使用. 页面是使用BootStrap前端框架搭建 使用laravel实现了增删改查的功 ...
- C#操作cmd
C#经常操作CMD,使用的话就用下面的2和3进行整理一下使用吧. 1.简单的调用命令不需要回传数据,最简单 public static void ipcmd(object p) { Process p ...
- throw UnsupportedOperationException
package org.usc.action; import java.util.ArrayList; import java.util.Arrays; import java.util.List; ...