Java面向对象
Posted Oo。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象相关的知识,希望对你有一定的参考价值。
面向对象(一)
属性
成员变量和局部变量:
相同点:
- 循环变量声明的格式: 数据类型 变量名 = 初始化值
2.都有作用域
不同点:
- 声明位置不同:成员变量声明在类里,方法外
局部变量声明在方法内,方法的形参部分,代码块内
成员变量(写在类--class里)和局部变量(写在方法--main里)的区别
成员变量的初始化(有图有真相)
成员变量可以是java中任意一种数据类型(基础数据类型和引用类型)
成员变量可以初始化, 也可以不初始化(java默认初始化)
成员变量的作用范围-->整个类
2.成员变量的修饰符有四个:public protected default private 权限由大到小递减
局部变量没有修饰符,与所在的方法修饰符相同
3.成员变量存在堆空间中,局部变量存在栈空间中
总结:关于变量的分类:(1)按照数据类型的不同:基本数据类型(8种) & 引用数据类型
(2)按照声明的位置的不同:成员变量 & 局部变量
方法
提供某种功能的实现 main方法也是方法,main方法里边的属性也必须要赋值。
1实例:public void eat(){//方法体}
public String getName(){}
public void setName(String n){}
格式:权限修饰符 返回值类型(void:无返回值/具体的返回值) 方法名(形参){}
2关于返回值类型:void:表明此方法不需要返回值
有返回值的方法:在方法的最后一定有return + 返回值类型对应的变量
记忆:void 与return不可以同时出现一个方法内。
3方法内可以调用本类的其他方法或属性,但是不能在方法内再定义方法
内存划分的结构:
栈:局部变量 、对象的引用名、数组的引用名
堆:new 出来的“东西”(如:对象的实体,数组的实体),含成员变量
方法区:含字符串常量
静态域:声明为static的变量
方法的重载/重写
方法的重载(overload)
要求:1.同一个类中 2.方法名必须相同 3.方法的参数列表不同(①参数的个数不同②参数类型不同) 方法的权限修饰符可以不相同
补充:方法的重载与方法的返回值类型没有关系
//如下的四个方法构成重载
//定义两个int型变量的和
public int getSum(int i,int j){
return i + j;
}
//定义三个int型变量的和
public int getSum(int i,int j,int k){
return i + j + k;
}
//定义两个double型数据的和
public double getSum(double d1,double d2){
return d1 + d2;
}
//定义三个double型数组的和
public void getSum(double d1,double d2,double d3){
System.out.println(d1 + d2 + d3);
}
不能与如上的几个方法构成重载
public int getSum1(int i,int j,int k){
return i + j + k;
}
public void getSum(int i,int j,int k){
System.out.println(i + j + k);
}
以下的两个方法构成重载。
public void method1(int i,String str){
}
public void method1(String str1,int j){
}
以上是关于Java面向对象的主要内容,如果未能解决你的问题,请参考以下文章