概述
面向对象入门
1.类(class) 和 对象(object)
//什么是类,什么是对象
//类和对象之间的关系
//如何创建类,如何创建对象
类是抽象的,是对一群具有共同特征和行为的事务的统称,是用来描述对象的。
对象是现实生活中一个具体存在,看的见摸得着.
2.类和对象之间的关系
一个类可以创建多个对象。
类是用来描述对象的,对象有什么特征,有什么行为,就把它定义在类里面。
3.类的抽象
如何把日常生活中的事务抽象成程序中的类?
类的三要素:类名 属性(特征) 方法/行为
//人类(类)
名字(名字)
吃饭,睡觉(方法)
//成员变量
成员方法
方法:一般名词都是类(名词提炼法)
拥有相同(或者类似)属性和行为的对象都可以抽象出一个类
4.如何书写类
格式:权限修饰符(public、private) class关键字 类的名字{
//在类中可以写类的描述(对象)
//属性、特征----->成员变量
//行为、方法----->成员方法
}
例如:小明(对象)---人类(类)
public class 人类
{
//成员变量(属性,特征)
String name;
int age;
//成员方法(行为,功能方法)
public void eat(){ // 局部变量
}
}
5.如何创建对象
格式: 类名 对象名 = new 类名();
数据类型 对象名 = new 数据类型();//new了一个对象
类是一种数据类型。//引用数据类型
String str = new String();//系统定义的类
Itheima ima = new Itheima();//自己定义的类
对象赋值:
对象.属性名 = 值;
//直接赋值
//这样直接赋值,就是让我们的属性直接暴露了,有可能会出现问题,
//为了不让外界直接赋值,所有采用private隐藏属性。
┌───────//就是属性的封装。//封装就是面向对象的三大特性之一。
|
|
//有main方法的类,叫测试类
↓
6.面向对象的三大特征:封装,继承,多态
(1)面向对的第一大特性---封装
隐藏对象的属性和实现细节,仅对外提供一个公共的访问方式。
//使用private关键字实现隐藏。private 数据类型 成员变量名;
private 修饰后的内容,只能在本类中访问,外界别的类不能调用
(2)如何提供公共的访问方式?
可以用setter方法(赋值),getter方法(取值)
//通过set方法给对象的属性(成员变量)赋值,间接赋值。
setter方法一定是公共的方法;//public
setter方法一定没有返回值;
//void
setter方法一定有参数;
setter方法一定set开头,加属性名,属性名开头要大写;
setter方法参数名一定和属性名相同;
setter方法一定要用形参给属性赋值。
set方法格式:
public void setShuXingMing(数据类型 属性名(在这里是局部变量名)){
this.属性名 = 属性名;
}
getter方法一定是公共的方法;//public
getter方法一定有返回值;
getter方法的方法名一定是get+属性名;
getter方法一定没有参数;
getter方法一定返回属性的值。
get方法格式:
public 数据类型 getShuXingMing(){
return this.属性名;//this可以不写,因为没有相同的局部变量。
}
//文档注释,可以在调用方法的时候显示这个方法的作用
(3)如何区别相同的局部变量和成员变量?
//如果变量名相同一般取就近原则,也就是局部变量。
使用 this 关键字,语法:this.成员变量
this 代表当前对象,谁代表这个方法就代表谁
(4)快捷键自动生成所有setter,getter方法://alt+shift+s
(5)构造方法的作用:
创建对象,并同时给对象的属性初始化。//第一次赋值
类名 对象名 = new 类名();//通过构造方法,创建一个对象
(6)构造方法的特点:
如果类中没有构造方法,系统就会自动生成一个空参构造方法
如果类中定义了构造方法,就不会自动生成空参构造方法
(7)构造方法的分类:
空参构造方法
public 类名(){
//无参数
//没有返回值,连void都没有
}
有参构造方法
public 类名(数据类型1 属性名1,数据类型2 属性名2...){ //参数列表
//this.属性名 = 属性名;
}
最后
以上就是满意大地为你收集整理的Java学习day05笔记-类和对象_封装_构造方法的全部内容,希望文章能够帮你解决Java学习day05笔记-类和对象_封装_构造方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复