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中,访问属性 ...
随机推荐
- 【问题解决】syntax error: unexpected end of file或-bash: ./full_build.sh: /bin/bash^M: bad interpreter: No
在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com QQ:1494713801 运行一个脚本full_build.sh 时, 一直是提示我: -bash: ./ ...
- Cloud Foundry中通用service的集成
目前,CloudFoundry已经集成了很多第三方的中间件服务,并且提供了用户添加自定义服务的接口.随着Cloud Foundry的发展,开发者势必会将更多的服务集成进Cloud Foundry,以供 ...
- Go成功的项目
nsq:bitly开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建.packer:用来生成不同平台的镜像文件,例如V ...
- LIS小结(O(∩_∩)O~哄哄)
~\(≧▽≦)/~啦啦啦,昨天说的是LCS,今天我们要学习的是LIS,什么是LIS呢? LIS: 最长有序子序列(递增/递减/非递增/非递减)这么说还是有些模糊,举个例子: 在一个无序的序列a1,a ...
- ThinkPHP3.2 常量参考
原文:ThinkPHP3.2 常量参考 预定义常量 预定义常量是指系统内置定义好的常量,不会随着环境的变化而变化,包括: URL_COMMON 普通模式 URL (0) URL_PATHINFO PA ...
- HP MSA2312 ERROR
司在用的hp MAS2312存储其中一台每天都会报一个错误 EVENT:Vdisk verification failed. Command failed. (error code: 1) 2 err ...
- ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版
ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版 ANSI Common Lisp 中文翻譯版¶
- 虚拟机VM10装Mac OS X 10.9.3
近期WWDC放出终极大招--新的编程语言Swift(雨燕),导致一大波程序猿的围观和跃跃欲试.当然了,工欲善其事,必先利其器,所以对于那些没有Mac又想要尝鲜的小伙伴肯定非常为难.可是,请放心,本文教 ...
- OpenStack25
OpenStack(25) API 前端服务 每个 OpenStack 组件可能包含若干子服务,其中必定有一个 API 服务负责接收客户请求. 以 Nova 为例,nova-api 作为 Nova 组 ...
- python语言学习6——python基础
Python是一种计算机编程语言. 以#开头的语句是注释,注释是给人看的,可以是任意内容 其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块. Python程序是大小写敏感的,如果写错 ...