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゚)ノ) 目录 一.面向对象 ...
随机推荐
- Hbase架构与原理
Hbase架构与原理 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就 ...
- JavaScript表单
JavaScript表单 这篇文章的主要目的是介绍表单相关的知识,如表单基础知识.文本框脚本相关用法.选择框脚本相关用法以及等知识.虽然在现代web开发中,很少会使用form默认行为提交表单数据,而是 ...
- mysql 报错 session halted的解决办法,实际工作中的结论。
写后台程序,发现执行到sql语句时就报错session halted,如下图: 也上网搜过蛮多方法,都不能解决我的问题.后来自己发现了症结所在,其实很简单:执行insert的语句没有包含not nul ...
- 纯JavaScript实现异步Ajax的基本原理
Ajax实际就是XMLHttpRequest对象和DOM.(X)HTML和CSS的简称,用于概括异步加载页面内容的技术. Ajax实例 HTML代码如下,包含一个h5标题和一个按钮: JS代码如下 ...
- Vim命令快捷键(网摘)
Vim命令快捷键(网摘) 原文出处:[?---->home]
- IIS 发布之后 您要找的资源已被删除、已更名或暂时不可用。 404.0 解决方法
步骤一: 如图,我发布网站后,在应用程序池中看到默认的.NetFreamork是2.0版本的,我把它改为4.0后 重新浏览网页就正常了. 如果还是不行,那么进行第二步,
- ExpandableListView实现手风琴效果
1. 效果示例图 2. 创建方法 (1)第一种方法与ListView等普通控件一样,直接在布局文件中添加ExpandableListView控件即可. (2)第二种方法则是创建一个Activity继承 ...
- WSGIweb框架--1
from multiprocessing import Process import re import sys import socket #设置静态文件根目录 HTML_ROOT_DIR = '. ...
- 【PL/SQL Developer】动态执行表不可访问,本会话的自动统计被禁止
在执行菜单里你可以禁止统计,或在v_$session,v_$sesstat 和 v_$statname 表里获得select权限 解决办法 [oracle@localhost ~]$ sqlplus ...
- Struts2-文件上传下载
Struts2文件上传 提供 FileUpload 拦截器,用于解析 multipart/form-data 编码格式请求,解析上传文件的内容 fileUpload拦截器 默认在 defaultSta ...