J2SE基础:1.类和对象基础
什么是对象
在Java语言,全部的人,事物或者模块都是一个对象。
同样的对象具有一些同样的特性。
狗,猫,蛇3个对象(动物的对象)
苹果,梨,桔子3个对象(水果的对象)
什么是类
能够将现实生活中的对象经过抽象
这样的抽象数据类型称为类。
动物类(Animal)
水果类(Fruit)
类和对象的关系
类是对象的模板(抽象化表示),对象是类的实例化(详细化的展现)
类的组成结构
Java是纯面向对象(除了8种基本数据类型)
而对象是从类产生的。因此类是组成Java程序最基本也是最核心的
元素。
变量(属性,成员变量)
方法(函数,成员方法,责任)
消息(对象与对象之间的通讯,对象数据之间的传递)
属性的定义
属性的的定义
属性的初始值(默认值)
booleanfalse
byte/short/int/long 0
float 0.0f
double 0.0d
char ‘\u0000’
对象类型 null
变量的分类与作用域
类变量:类对象属于对象。static修饰的变量称为类变量。
静态区中。仅仅实例化一次,因此仅仅占领一次内存。
对象的成员变量:成员变量是属于对象。
堆区。
局部变量。局部方法中定义的变量,以及形式參数都是局部变量。
栈区。
变量的作用域(生命周期)
就是不同类型的变量在内存中存活的时间。
方法的分类:
按返回值划分:有返回值
无返回值
按參数划分:
有參数方法无參数方法
void sum(int x,int y):參数定义之间,用逗号隔开。sum(x,y);//调用也是用逗号隔开。
实參(实际的參数)
形參(形式參数)。
參数传递时,实參传给形參有两种方式:A:假设传递是基本数据类型的话,那么仅仅是值的拷贝。B:假设传递是对象类型的话,那么传递的是对象的地址。
按功能方法
构造方法实例方法(对象方法,成员方法)
类方法
构造方法:
是实例化对象必须运行的操作。用于构建一个新的对象的初始化操作。假设没有构造方法的话,系统自己主动创建一个空的构造方法。假设有构造方法的话,系统将不再构建。
注意点:构造方法不是一个无參的构造方法
public Person(int id){
}
Person person = new Person();//错误
A:Person person = new Pserson(1);
B:再提供一个空的构造方法。
this:
表示当前对象。
this指向自己的引用
能够用this调用当前对象的属性与方法。
方法的重载(OverLoad)
方法重载即指同一个类内多个方法能够享有同样的名字。
可是这些方法的參数必须不同(參数个数不同或參数类型不同)。
调用的时候通过參数的个数或者的类型由编译器来寻找究竟要调用哪一个
方法。
类方法,对象方法,构造方法都能够做方法的重载。
当重载的參数假设有继承关系时。除非在程序中精确描写叙述要
传递的类型。否则调用的都是符合子类參数的方法。
Object obj = null;
String str = null; test.print(obj); //精确类型
test.print(str); //精确类型
test.print(null); //都匹配的类型,调用子类的方法。 public void print(Object some){
System.out.println("Object version print");
}
public void print(String some){
System.out.println("String version print");
}
/**
* 定义一个Student的类
*/
public class Student{
//属性声明的部分
int stu_id;
char stu_sex;
String stu_name; //类变量
static String class_id = "JN1001"; //有返回值的方法
int getScore(){
//定义局部变量
int english = 0;
return english;
}
int getScope2(){
double math = 12.345; return (int)math;
}
//无返回值的方法
void study(){
System.out.println("大家在学习Java");
} public static void main(String args[]){
Student stu = new Student();
stu.study(); int result = stu.getScore(); int result2 = stu.getScope2();
System.out.println("result = "+result + ",result2 = "+result2); } }
public class Student_Method{ //构造方法
public Student_Method(){
System.out.println("对象的构造方法");
} //对象(成员)方法
int divde(int x,int y){
return x / y;
} //类方法
static int sum(int x,int y){
return x + y;
} public static void main(String args[]){
//调用类方法
Student_Method.sum(2,3); //调用成员方法
//Student_Method.divde(2,3); //不能调用
System.out.println("1111");
Student_Method test = new Student_Method();
System.out.println("222");
test.divde(3,4);
}
}
public class TestOverLoad{
public static void main(String[] args){
Test test = new Test();
//test.print(null);
Object obj = null;
String str = null;
StringBuffer strBuffer = null;
System.out.println(obj);
System.out.println(str);
test.print(obj);
test.print(str);
test.print(strBuffer);
test.print(null);
}
}
class Test{ public void print(Object some){
System.out.println("Object version print");
}
public void print(String some){
System.out.println("String version print");
}
public void print(StringBuffer some){
System.out.println("StringBuffer version print");
} }
J2SE基础:1.类和对象基础的更多相关文章
- MOOC C++笔记(二):类和对象基础
第二周:类和对象基础 面向对象程序设计的四个基本特点 抽象.封装.继承.多态. 面向对象程序设计的过程 1.从客观事物抽象出类 抽象出的事物带有成员函数与成员变量(类似于带函数的结构体) 成员变量和成 ...
- 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结
086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...
- JAVA 类和对象基础知识详解
/*文章中用到的代码只是一部分,需要源码的可通过邮箱联系我 1978702969@qq.com*/ 和C++一样,JAVA也是一门面向对象的语言,其基础和核心是类和对象.而面向对象的思想是来源与显示生 ...
- java 类与对象基础整理
之前学习javaSE的时候,没有针对性地对对类与对象的一些基础进行整理,下面这些内容是笔记内容整理后的,希望以后自己可以通过这些博客时常复习! 一.类and对象的基础 类似于类的生命啊,类与对象的关系 ...
- java类与对象基础篇
java面向对象基础篇 面向对象程序设计(Object Oriented Proframming ,OOP) 面向对象的本质是:以类的方式组织代码,以对象的方式组织(封装)数据. 面向对象的核心思想是 ...
- ObjectiveC1基础代码——类和对象
// // main.m // ObjectiveC1 // // Created by scjy on 15/10/30. // Copyright © 2015年 lizhipeng. A ...
- C++_基础_类和对象
内容: (1)引用 (2)类型转换 (3)C++社区给C程序员的建议 (4)面向对象编程的概念 (5)类和对象 (6)构造函数 (7)初始化列表及其必要性 1.引用1.1 指针和引用的使用说明(1)指 ...
- java基础知识—类和对象
1.对象的特征---类的属性 每个对象的每个属性都有特定的值 对象的操作---类的方法 2.封装 对象同时具有属性和方法两项属性. 对象的属性和方法同时被封装在一起,共同体现事物的特性,二者相辅相成, ...
- PHP -- 类和对象基础入门
本文目录: 创建简单类和对象 继承 抽象类 接口 构造方法 析构函数 1. 创建简单类 创建一个People的类,在这里有四个要点说明一下: 第一个是在PHP中,访问属性 ...
随机推荐
- 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&记忆化递归
HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...
- WinDBG调试技巧
参考链接:http://wenku.baidu.com/view/4e58744dcf84b9d528ea7a42.html
- JSF之经常使用注解
@ManagedBean 以托管 bean 的形式注冊一个类实例.然后将其放入到使用当中一个 @...Scoped 凝视指定的范围内.假设没有指定不论什么范围.JSF 将把此 bean 放入请求范围. ...
- 面向接口可扩展框架之“Mvc扩展框架及DI”
面向接口可扩展框架之“Mvc扩展框架及DI” 标题“Mvc扩展框架及DI”有点绕口,我也想不出好的命名,因为这个内容很杂,涉及多个模块,但在日常开发又密不可分 首先说Mvc扩展框架,该Mvc扩展就是把 ...
- 设备管理 USB ID
发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...
- ZooKeeper安装与运行
ZooKeeper安装与运行 首先从官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录.“bin目录”中存放有运行脚本:“conf目 ...
- oracle事务(转)
今天温习oracle事务,记录如下: 事务定义 事务是保持数据的一致性,它由相关的DDL或者DML语句做为载体,这组语句执行的结果要么一起成功,要么一起失败. 我们 ...
- make 2>&1 | tee log.txt之小析
前言 接触过linux的人,或多或少都会了解一点make 2>&1 | tee log.txt这个命令. 1. make是什么? make是linux下一个非常强大的命令,简单点就是你要 ...
- Embedded Linux Primer----嵌入式Linux基础教程--前言
APractical,Real-WorldApproach ChristopherHallinan 计算机无处不在. 事实上,当然了,对于那些大约在过去25年期间没有生活在洞穴中的人来说没有什么惊奇的 ...
- hdu5119(dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5119 分析:dp[i][j]表示由前i个数组成异或和为j的方法数,则dp[i][j]=d[i-1][j ...