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中,访问属性 ...
随机推荐
- Lucene.Net 2.3.1开发介绍 —— 四、搜索(一)
原文:Lucene.Net 2.3.1开发介绍 -- 四.搜索(一) 既然是内容筛选,或者说是搜索引擎,有索引,必然要有搜索.搜索虽然与索引有关,那也只是与索引后的文件有关,和索引的程序是无关的,因此 ...
- SpringMVC批量上传
@RequestMapping(value = "/upload") public String handleFormUpload(MultipartHttpServletRequ ...
- Dom4j SAXReader Constructors
Dom4j读取xml:eg1: package xml; import java.io.File; import org.dom4j.DocumentException; import org.dom ...
- Git权威指南学习笔记(二)Git暂存区
例如以下图所看到的: 左側为工作区,是我们的工作文件夹. 右側为版本号库,当中: index标记的是暂存区(stage),所处文件夹为.git/index,记录了文件的状态和变更信息. master标 ...
- OMR数据查询
查询 1.查询所有的. var query = from p in _Context.Info select p; var query = _Context.Info; 2.单条件查询 等值查 var ...
- 窗口显示于parent控件上(用到了ManualDock函数)
procedure TForm1.btn1Click(Sender: TObject); begin with TForm2.Create(self) do begin ManualDock(self ...
- c coding style之学习篇
1. 使用do-while结构去避免潜在的内存泄漏问题. do { p1 = malloc(10); if (null == p1) { break; ...
- shell 调试
感觉编写shell在查找错误的过程中,很让你崩溃,还好shell也提供了一些调试的方式: 语法检查 -n选项做语法检查,而不执行脚本 sh -n script_name.sh 启动 ...
- 解决Andriod使用HttpURLConnection 失败问题
在Android的Activity中使用HttpURLConnection连接到服务端时抛出异常,Access denied.第一个想到是权限问题.然后就尝试将INTERNET权限加上:在Manife ...
- CodeForce 356A Knight Tournament(set应用)
Knight Tournament time limit per test 3 seconds memory limit per test 256 megabytes input standard ...