Java初学之抽象概念汇总
众所周知,Java是一门面向对象的编程语言,在初学者学习的时候许多概念和其他编程语言有所差别,本帖将汇总基本Java中最基本的概念,并举例帮助刚初学者理解抽象的概念.
1. 面向对象
问:什么是面向对象?
答:现实对象数字化进入程序 并进行数据管理的过程
理解:现实中所有的东西都可以看作是一个对象,例如现实中的 人就可以看作是一个对象,现实世界中人都具有的东西诸如性别、身高、体重、年龄等等..这些就可以看作是一个人的属性,也就是每一个人都有的东西,当然,不同的人也有不同的特点比如会打球、会弹琴、会编程....等等,这些技能就可以看作是一个对象的方法。所以面向对象就是把现实世界中的对象抽象为数据,存入到程序中进行管理的一个过程
2.类
问 : 什么是类?
答:现实世界中-类是一组具有相同特征 、相似行为的对象集合;程序世界 -类是一种模版,可以实例化生成对象
理解:类就是一个模版,可以简单理解为 具有一定特征的模版,程序员可以根据这个模版生成一个一个的对象,例如:你有一个类,里面记录了身高1.8M,性别男,体重60KG等属性,你就可以根据这个模版在程序里取创造具有这种属性的对象。在Java中类的写法如下
//类的名称要跟文件的名字一致
//public 为修饰符 公共类
//一个文件只能有一个公共类
public class 名称 {
int height; //身高属性
int weight; //体重属性
char sex; //性别属性
}
3.属性
那么属性就简单了,在类中定义的变量其实就是属性了,他有很多名字,可以叫成员变量 也可以叫全局变量
属性的定义赋值与使用如下:
//public 为修饰符 公共类
//一个文件只能有一个公共类
public class Person{
int age; //定义一个int类型的属性名字为age
String name; //定义一个String类型的属性名字为name
age=18; //赋值类的属性
name="小明";
}
//以上代码就是在类中定义了两个全局变量也就是属性
//使用时需要new一个对象(实例化对象)
//使用/调用属性如下
Person n=new Person() //实例化对象
System.out.println(n.name); //打印小明 n.name就是Person中的属性了
4.实例化对象
问:什么是实例化对象?
答:实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。
实例化过程中一般由类名 对象名 = new 类名(参数1,参数2...参数n)构成
理解: 开辟一个空间将对象存入进去(每次使用new关键字,就相当于在堆空间中开辟了一块新的存储空间)如何实例化?见如下代码
Person n=new Person() //实例化对象
//Person为类的名称
5.方法
问:Java中什么是方法?
答:java方法是语句的集合,用于承载逻辑代码主体,提高代码复用性。理解:Java中的方法其实就是其他编程代码中的函数,具有如下特点
1.方法是解决一切问题的步骤的有序组合
2.方法包含于类或对象中
3.方法在程序中被创建,在其他地方被引用方法的构成:
1.访问修饰符
2.返回类型值
3. 方法名称
4.参数列表
5. 主体(逻辑代码)
/*
Java中方法一定在类中
*/
//Manager为类的名称
public classManager {
//属性/全局变量
String name;
int num;
/*
**public为修饰符 表示该方法为公共的
**void为返回值类型 表示返回为空
**setName为方法名称
**str为字符类型的参数
*/
public void setName(Sting str){
//将参数str赋值给类的属性(全局变量)
this.name=str;
}
}
6.构造方法
问:什么是构造方法?
答:构造方法也叫对象初始化方法或构造器,就是在一个类中 方法名与类名相同 不带返回值类型说明的方法 被称为该类的构造方法
理解: 构造方法就是在 类里面声明一个或多个名称跟类名一样的方法,不带返回值,看他的别名(对象初始化方法)就知道,这玩意主要是对类中的属性做初始化的,就是赋值初始值/元素。实例如下:
//对象初始化/构造器
public class Test {
public Test(){
}
}
7.方法重载
问:什么是方法重载?
答: 在一个类中 有两个或多个方法 它们的方法名称相同 参数列表不同 形成方法重载
理解:其实就是一个类中可以设置多个名字相同但是参数列表不同的方法,这种就叫方法重载,所谓参数列表不同 是指 参数的数量 或 参数的类型 或 参数的顺序不同
这样这样做的好处就是方便调用,比如设置三个名字相同的方法,但是参数不同,系统并不会自动把原来的方法覆盖,而是根据方法调用时的参数自动匹配,比如你可以设置一个有参数的,设置一个无参数的...
public class Test {
public void demo(int x,int y){
System.out.println(x+y)
}
public void demo(String x,int y){
System.out.println(x+y)
}
}
//Test类中的两个方法名称一样
//但参数不同
//我们在调用时既可以给两个int类型相加
//也可以给一个String和int进行相加打印
发表评论