文章目录 类和对象@[toc]一、对象(万物皆可对象)1、对象的划分2、计算机世界中的对象 二、类(同一类事务的统称)2、注意 三、封装、继承、多太1、封装2、继承(子承父业)3、多态 四、类(封装对象的属性和行为的载体)1、成员变量2、成员方法3、权限修饰符4、局部变量5、this关键字 一、对象(万物皆可对象) 1、对象的划分
①静态部分
② 动态部分
2、计算机世界中的对象① 面向对象的程序的设计思想就是要以对象思考问题
首先对现实世界的实体抽象为对象考虑对象的属性和行为②从一个问题中抽象出对象,这里抽象出的对象是大雁
③识别对象的静态属性:对象具有的属性都是静态属性
④识别对象的动态属性
⑤将以上分装起来也就是大雁类:类的实质就是封装对象的属性和行为的载体,而对象是类抽象出来的一个实例
二、类(同一类事务的统称)1、类的理解
简单来说,将现实世界的一个事务抽象成对象,类就是这类对象的统称 2、注意 类是封装属性和行为的载体,反过来说就是具有相同的属性和行为的一类实体被称为类 三、封装、继承、多太 1、封装①封装性
是面向对象的核心思想(例如即使知道计算机工作原理,使用时也不完全依赖于计算机工作原理这些细节)
保证类内部数据结构的完整性
②继承性
③多态性
2、继承(子承父业)①当处理一个问题时,可以将一些有用的类保留下来,在遇到同样问题时拿来**复用**
②优点:
继承思想可以缩短开发的周期复用定义好的类可以提高系统性能减少了系统在使用过程中出现错误的概率③继承主要利用特定对象间的公有属性
3、多态①多态的概念:父类对象应用于子类对象的特征就是多态
②多态的思想:对于图形类说明多态,每个图都有绘制自己的能力,这个能力看做是该类具有的行为,如果将子类看做父类的实力对象,这样当绘制图像时,简单地调用父类的也就是图形类绘制图形的方法即可绘制任何图形。
③多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类及相关
④Java中抽象类不能实例化对象,在多态机制中,父类会经常被定义为抽象类,在抽象类中给出一个方法的标准,不给出具体实现的流程
⑤在多态机制中,比抽象类更方便的方法就是将抽象类定义为借口
四、类(封装对象的属性和行为的载体) 1、成员变量抽象方法组成的集合就是接口
例如:不同的五金店买类螺丝帽和螺丝钉,螺丝帽很轻松就可以拧在螺丝钉上,可螺丝帽和螺丝钉的厂家不同,但是这两个物件可以轻松的组合在一起,因为生产这两个组件的两个厂家遵循一个制造标准,这种标准在Java中就是接口
①对象的属性也称之为成员变量
创建book类,在类中设置一个成员变量name
public class Book {
private String name; //定义一个String类型的成员变量 , 用private定义私有成员
int id =0; // 定义一个int类型的成员变量id并赋初值0
public String getName(){ // 定义一个getName()方法
setName("java"); //调用类中的其他方法
System.out.println(id+this.name);
return id + this.name; //设置方法返回值
}
private void setName(String name){ //定义一个setName()方法
this.name = name; // 将参数的值赋给类中的成员变量
}
public Book getBook(){
return this; //返回Book类引用
}
public static void main(String[] args){
Book book = new Book(); //创建一个对象
book.id=20; //将成员变量id赋值20
book.getName(); //使用对象调用成员方法
}
}
2、成员方法
①定义成员方法的语法
权限修饰符 返回值类型 方法名(参数类型 参数名){
方法体;
return 返回值;
}
成员方法可以有参数,参数可以是对象,也可以是基本数据类型的变量
注意:
Java中的成员方法无返回值时,用void关键字表示
② 成员方法的返回值:
计算结果数值和对象返回值类型与方法返回值类型相同3、权限修饰符一个方法中成员变量和局部变量同名时:局部>成员
类成员:成员变量和成员方法
类修饰符 | |||
---|---|---|---|
private | protected | public | |
本类 | √ | √ | √ |
同包其他类或者子类 | × | √ | √ |
其他包的类和子类 | × | × | √ |
①就是在成员方法中定义的变量称为局部变量
public String getName(){
int id = 0;
setName("python");
return id + this.name;
}
②局部变量的有效范围
局部变量的有效范围称为变量的作用域
局部变量的有效范围:变量的声明开始到该变量结束
public void doString(String name){
int id = 0;
for(int i=0;i<10;i++){
System.out.pringtln(name+String.valueof(i));
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-koSwmlrc-1663508449688)(C:\Users\ll\AppData\Roaming\Typora\typora-user-images\1663505354264.png)]
两个互不嵌套的作用域中可以声明两个名称和类型都相同的变量
public void doString(String name){
int id = 0;
for(int i=0;i<10;i++){
System.out.pringtln(name+String.valueof(i));
}
for(int i=0;i<22;i++){
System.out.println(i);
}
}
在嵌套区域中不可定义相同名称和类型的局部变量
5、this关键字 private void setName(String name){ //定义一个setName()方法
this.name = name; // 将参数的值赋给类中的成员变量
}
Java中使用this关键字代表本类对象的引用程序中this.name = name,this.name指的就是Book类中的成员变量name,第二name是形参setName()成员方法实现的就是将形参name的值赋值给成员变量也可以作为方法的返回值,直接在方法中使用return this,返回该类的引用
private void setName(String name){ //定义一个setName()方法
this.name = name; // 将参数的值赋给类中的成员变量
}
Java中使用this关键字代表本类对象的引用程序中this.name = name,this.name指的就是Book类中的成员变量name,第二name是形参setName()成员方法实现的就是将形参name的值赋值给成员变量也可以作为方法的返回值,直接在方法中使用return this,返回该类的引用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)