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中,访问属性 ...
随机推荐
- Swift编程语言学习3.1排列
Swift 语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储同样类型的数据.字典尽管无序存储同样类型数据值可是须要由独有的标识符引用和寻址(就是键值对). Swift 语言里的数 ...
- Attach()函数和Detach()函数的作用
基本就是把一个句柄绑定和解绑定于一个类对象上,是其可以使用MFC的函数而不是API 首先,你要明白Windows对象和MFC对象的区别.MFC对象实际上并没有把整个Windows对象都包装在其中,它只 ...
- Android设计中的.9.png与Android Studio中的设置
在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”.这种图片是用于Android开发的一种特殊的图片格式,它的 ...
- MPICH3环境配置
最新版的mpich简化了运行方式,不再提供mpd开头的命令,只需要一个mpiexec即可启动mpi运行环境,方便了mpi编程.源代码下载地址:http://www.mpich.org/download ...
- poj 1611 The Suspects(并查集)
The Suspects Time Limit: 1000MS Memory Limit: 20000K Total Submissions: 21598 Accepted: 10461 De ...
- activity_main.xml: java.lang.NullPointerException
1.错误描写叙述 eclipse.buildId=4.4.0.I20140606-1215 java.version=1.7.0_67 java.vendor=Oracle Corporation B ...
- object-c编程tips-timer
object-c定时器 object-c定时器会自己主动retain当前的使用者,假设不注意调用invalidate,则非常easy引起循环引用导致内存泄露.以下的思路提供了一套还算可行的解决方式. ...
- Fluentd: Open Source Log Management
Fluentd: Open Source Log Management "Fluentd" is an open-source tool to collect events and ...
- hdu2563(递推dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2563 解题思路:要分两种情况来考虑,a(n)为向上,b(n)为向左跟向右,f(n)为当前方案数.a(n ...
- Java并发专题 带返回结果的批量任务运行 CompletionService ExecutorService.invokeAll
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27250059 普通情况下,我们使用Runnable作为主要的任务表示形式,可是R ...