两者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能性为。面向对象将功能封装进对象,强调具备了功能的对象。
面向对象更加强调运用人类日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。
封装(Encapsulation)
继承(Inheritance)
多态(Polymorphism)
属性:对应类中的成员变量
行为:对应类中的成员方法
class person{//属性,或成员变量String name;int age;boolean isMarried;}//下面的是:方法,或函数
public void walk(){System.out.println("人走路。。");
}public String display(){return "name:"+name+",age:"+age+",Married:"+isMarried;}
2.面向对象的三大特征
3.其他关键字
步骤:
1.定义类(考虑修饰符,类名)
举例:动物的类
/*** 动物的类* @author Mwq**/
public class Animal {String name;//动物的名称int eye;//眼睛个数int legs;//几条腿/*** 输出动物吃的食物*@param food 食物*/public void eat(String food) {//String food 这个叫方法的参数,String food叫做形参System.out.println("此种动物的食物是:"+food);}/*** 动物的移动方式* @param moveType 移动方式*/public void move(String moveType) {int i=0;//方法局部变量System.out.println("此种动物的移动方式是:"+moveType);}
}
2.编写类的属性(考虑修饰符、属性类型、属性名、初始化值)
3.编写类的方法(考虑修饰符、返回值类型、方法名、形参等)
(1)使用new+构造器创建一个新对象;
(2)使用“对象名.对象成员”的方式访问对象成员(包括属性和方法);
对象的使用有两种方式
(1)操作对象的变量
(2)调用对象的方法
举例:
Peron类
public class Person {//属性,成员变量String name;int age;//年龄,int的默认值是null//行为方法,函数/*** * 打印姓名*/public void showName(){//一般使用驼峰命名法System.out.println("姓名:"+name);}/*** 获取年龄* @return*/public int getAge() {//如果是有一个返回值的方法,方法体最后一行一定是返回对应的数据,用return关键字返回return age;//方法上定义的int是返回值的类型,return后面跟的是方法的返回值}
}
调用Person和Animal类
public class Text12 {public static void main (String[] args) {//实例化person类,创建person对象//int i=0;Person person=new Person();//声明一个person类型的变量,变量名person,实例化Person类并且给person赋值//new Person()就是实例化Person类person.name="张三";//给person对象的name属性赋值person.showName();//对象的方法的调用Age();//有返回值的方法在调用之后就会有一个值,这个值就是方法中return的部分int iAge();System.out.println(i);person.age=11;//给person对象的age属性赋值int aAge();System.out.println(a);//实例化一个animal的对象Animal ani=new Animal();ani.eat("老鼠");ve("飞");//未来涉及更复杂的类,我们会给这类创建对象,并且使用对象,//对象的使用有两种方式//(1)操作对象的变量//(2)调用对象的方法}
}输出结果:
姓名:张三
0
11
此种动物的食物是:老鼠
此种动物的移动方式是:飞
修饰符 类型 属性名=初值;
说明:修饰符private:该属性只能由该类的方法访问。
修饰符public:该属性可以被该类以外的方法访问。
类型:任何基本类型,如int、boolean或任何类
成员变量和局部变量
(1)在方法体外,类体内声明的变量称为成员变量。
(2)在方法体内部声明的变量称为局部变量。
public class Person1 {{//这就叫代码块int i=0;//代码块局部变量}public String name="zhangsan";//public共有的,这样的类的变量可以在类的外部使用private int age;//private私有的,可以在本类的方法使用,不能做类的外部使用//修饰符可以用来修饰变量,可以用来指明变量是一个公有的还是私有的,私有的类变量不能通过对象.属性调用//实例变量就是类实例化为对象之后才可以使用public static String sex="man";//static,意思是静态的,这样的变量不需要类实例化为对象就可使用//直接就可以通过类名.属性这样直接调用,这样的变量叫做类变量public void showAge() {System.out.println(age);}
}
成员变量:
(1)成员变量定义在类中,在整个类中都可以被访问
(2)成员变量分为类成员变量和实例成员变量,实例成员变量存在于对象所在的堆内存中;实例变量只能是在类实例化后的对象中可以使用
(3)成员变量里面有默认初始化值
(4)成员变量的权限修饰符可以根据需要,选择任意一个
局部变量:
(1)局部变量只定义在局部范围中,如:方法内,代码块内等;局部变量只能在他所属的方法范围内可以使用
(2)局部变量存在于栈内存中
(3)作用的范围结束,变量空间会自动释放。
(4)局部变量没有默认初始化值,每次都必须显示初始化
(5)局部变量声明时不指定权限修饰符
语法格式:
修饰符 返回值类型 方法名(参数列表){
方法体语句;
}
说明:修饰符:public,private,protected等
返回值类型:return语句传递返回值。没有返回值:void。
//类一个,通过类实例化出来的对象可以多个,每个对象都是独立的,互不干扰Person p1=new Person();Person p2=new Person();p1.name="zhangsan";p2.name="lisi";p1.showName();p2.showName();
学生类Student.java
/*** 学生类* @author MWQ**/
public class Student {public String name;//姓名public int age;//年龄public String course;//课程public String interest;//兴趣/*** 显示学生个人的信息*/public void showInfo() {System.out.println("姓名: " + name);System.out.println("年龄:" + age);System.out.println("课程:" + course);System.out.println("兴趣:" + interest);}
}
老师类teacher.java
/*** 教师类* @author MWQ**/
public class Teacher {public String name;//姓名public String subject;//专业public String teachCourse;//教授课程public int teachYears;//教龄/*** 显示老师个人信息*/public void showInfo() {System.out.println("姓名: " + name);System.out.println("专业: " + subject);System.out.println("教授课程: " + teachCourse);System.out.println("教龄: " + teachYears);}
}
测试实例
public class Text12 {public static void main (String[] args) {//学生测试实例Student stu=new Student();stu.name="蔡旭琨";stu.age=urse="语文、数学、英语、物理、化学";stu.interest="唱、跳、rap、篮球";stu.showInfo();//老师测试实例 Teacher tea=new Teacher();tea.name="戴嘉伟";tea.subject="炉石传说";achCourse="术士";achYears=4;tea.showInfo(); }
}
输出结果:姓名: 蔡旭琨
年龄:24
课程:语文、数学、英语、物理、化学
兴趣:唱、跳、rap、篮球姓名: 戴嘉伟
专业: 炉石传说
教授课程: 术士
教龄: 4
什么是方法(函数)?
(1)方法是类或对象行为特征的抽象,也称为函数
(2)java里面的方法不能独立存在,所有的方法必须定义在类里
修饰符 返回类型 方法名(参数类型 形参1,参数类型 形参2,…){
程序代码
return 返回值;
}
其中:
形式参数:在方法被调用时用于外部接收传入的数据变量。
参数类型:就是在该形式参数的数据类型。
返回值:方法在执行完毕后返还给调用他的程序的数据。
返回值类型:方法要返回的结果的数据类型。
实参:调用方式时实际传给函数形式参数的数据
注意:
(1)没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。
(2)定义方法的时候,方法的结果应该返回给调用者,交由调用者处理。
(3)方法中只能调用方法,不能在方法内部定义方法。
(4)同一个类中所有的方法可以互相调用,不用new去实例化对象。
1.例如:输入“tr”,然后按组合键“Alt+/”,即会出现下面的画面,回车即可输入整个代码块。
2.再试试输入“syso”,然后使用快捷键“Alt + /”,就可以看见“System.out.println();”效果如下: 也可以直接输入:“sysout”,然后使用快捷键“Alt + /”,直接输出该句。
本文发布于:2024-02-04 02:47:54,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170698657252086.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |