Java学习9——面向对象
(重点:内存分析)
类的定义
//用class关键字定义一个类
class Person {
//成员变量定义
private int id;
private int age = 20;
//方法定义
public int getAge() {
return age;
}
public void setAge(int i) {
age = i;
}
public int getId() {
return id;
}
}
成员变量
1、成员变量可以使用Java语言中的任何一种数据类型(包括基本类型和引用类型);
2、成员变量的作用范围为整个类体;
3、在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化

引用
1、Java语言中除基本类型之外的变量类型都称之为引用类型。
2、Java中通过引用对对象进行操作
//声明了一个String类型的引用变量,但并没有使它指向一个对象
String s;
//使用new语句创建了一个String类型的对象并用s指向它以后可以通过s完成对其的操作
s = new String("Hello world!!");
构造方法
1、使用new + 构造方法创建一个新的对象
2、构造函数是定义在Java类中的一个用来初始化对象的函数
3、构造函数与类同名且没有返回值
4、当没有指定构造函数时,编译器为类自动添加默认构造函数
public class Person {
private int id;
private int age = 20;
//构造函数
Person(int n, int i) {
id = n;
age = i;
}
public static void main(String args[]) {
//创建对象时,使用构造函数初始化对象的成员变量
Person tom = new Peron(1, 25);
}
}
方法的重载
1、一个类中可以定义有相同名字和返回类型,但参数不同(个数和类型)的多个方法。
2、调用时,会根据不同的参数表选择对应的方法
3、同样可以用于构造函数的重载
public class Person {
private int id;
private int age = 20;
//构造函数
Person(int n, int i) {
id = n;
age = i;
}
void info() {
System.out.println("My id is " + id);
}
//重载info方法
void info(String t) {
System.out.println(t + " id is " + id);
}
public static void main(String args[]) {
//创建对象时,使用构造函数初始化对象的成员变量
Person tom = new Peron(1, 25);
p.info();
p.info("Lily");
}
}
推荐命名规则
1、类名的首字母大写
2、变量名和方法名的首字母小写
3、运用驼峰标识
Java学习9——面向对象的更多相关文章
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 0025 Java学习笔记-面向对象-final修饰符、不可变类
final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...
- 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类
static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...
- java学习之面向对象概念
思考的两种方式: 举例: 把大象放到冰箱里 一.面向过程 :[打开冰箱->把大象放里面->关上冰箱门]面向过程注重的是过程,也就是(动作[函数]),然后按照动作依次去执行就好了. 代表语言 ...
- JAVA学习总结-面向对象
前言:java面向对象中的知识可以说是整个java基础最核心的部分,不知不觉已经学完快2个月了,是时候复习一波了,刚开始学习的时候被绕的很懵逼,这次总结完毕之后有了很多新的感悟,这就是所谓的每有会意, ...
- Java学习(一)--面向对象(一)
面向对象的思想一直指导者我们软件的分析.设计与开发.java语言是一种面向对象的语言.在学习java之前,先回想一以下向过程和面向对象. 一面向过程 面向过程主张按功能来划分系统需求.每一个功能都负责 ...
- Java学习: 面向对象的使用与注意事项
面向对象的使用与注意事项 面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做 ...
- 程序设计基础·Java学习笔记·面向对象(下)
Java程序设计基础之面向对象(下) (补充了上的一些遗漏的知识,同时加入了自己的笔记的ヾ(•ω•`)o) (至于为什么分P,啊大概是为了自己查笔记方便(?)应该是("` 3′") ...
- 程序设计基础·Java学习笔记·面向对象(上)
Java程序设计基础之面向对象(上) (自适应学习进度而进行记录的笔记,希望有一些小小的用处吧(^∀^●)ノシ) (新人上路,望多指教,如有错误,望指正,万分感谢(o゚v゚)ノ) 目录 一.面向对象 ...
随机推荐
- Unity 使用xLua遇到的坑
在我们使用xLua作为Unity中lua集成的解决方案时,遇到了一个问题,就是当我们使用在lua中把UI中的某个控件绑定相应的事件(如按钮的onClick事件),xLua绑定这个事件是用委托实现的,具 ...
- 巧用tab组件实现APP的布局效果
1. 版本说明 iOS/Android支持版本 jar包版本 8.4及往后版本 2017年4月1日 2. 描述 tab布局能避免多层次钻取与返回,可以在一个报表内部进行切换,钻取层数如果过多的话,看报 ...
- sqlserver-4064
早上忘记了SQLServer的sa帐户密码,在网上搜索才弄清楚了解决办法:1.在SQLServer企业管理器中输入以下命令:ALTER LOGIN sa ENABLE GO ALTER LOGIN s ...
- 集合-TreeSet-Comparable
Student类:name.age属性 1 package com.bjpowernode.test01_set2_Comparable; /* * T: type */ public class S ...
- 1>MSBUILD : cordova-build error BLD401: 错误: BLD00401: 找不到模块“C:\Users\z-pc\AppData\Roaming\npm\node_modules\vs-tac\app.js”。请转到“工具”-->“选项”-->“Apache Cordova 工具”-->“Cordova 工具”-->“清除 Cordova 缓存”,然后尝试重新生成
1>------ 已启动全部重新生成: 项目: BlankCordovaApp2, 配置: Debug Android ------1> Your environment has bee ...
- 用Html模仿百度一下你就知道
用Html模仿百度一下你就知道.... ------------------------------- <!doctype html> <html lang="en&quo ...
- Vue相关(过渡动画)
Vue 过渡 && 动画 一.CSS过渡 1.transition标签可以用来封装需要过渡的元素,添加entering/leaving 过渡, 条件是: (1)使用条件渲染语句 v-i ...
- spring mvc:Error scanning entry module-info.class from jar错误
项目从jdk1.6升级到jdk1.8,启动的时候出现如下错误: java.lang.RuntimeException: Error scanning entry module-info.class f ...
- spring mvc:exclude-mapping错误提示
今天搭建一个java web项目时,增加了一个登录的拦截器,主要功能就是未登录的用户无法访问系统的任何页面. 先说明下我的web项目springmvc的版本以及刚开始配置的拦截器: springmvc ...
- SQL Server锁类型
SQL Server锁类型(SQL)收藏 1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁. 2. NOLOCK:不添加共享锁和排它锁,当这个选项生 ...