Java基础复习---面向对象程序设计
来源:互联网 发布:mmd成人动作数据 编辑:程序博客网 时间:2024/06/10 05:37
面向对象是Java语言的基本思想。类是Java中最核心最基本的内容。
类
类,是Java语言的基础,任何的操作都要在一个类中完成,如方法,构造函数,参数的传递等等。
类的一般形式, class 类名{
类型 变量名;
类型 变量名;
......
类型 方法名(参数){
方法内容}
......}
如 class People{
String name;
String sex;
Int age;
void eat(){
Ststem.out.println(“我在吃饭”);}
void tea(){
Ststem.out.println(“我在喝茶”);}
......}
有时声明类时,需要在类的前面加上修饰符进行修饰。
private 只在本类中可见
protected 在本类或者同一个包中可见
public 对任何类可见
没有加修饰符的变量,默认为private
方法分为有返回类型方法和无返回类型方法两种:不需要返回值,可以使用void进行修饰;如需要返回值,方法的类型定义必须和返回值的类型相同:如public String ear(){
return "我在吃饭";}
使用带参数的方法的一般形式如下:
修饰符 类型 方法名(参数类型 参数1,参数类型 参数2...){
方法体}
主方法
一个程序写好之后,如何去运行,从哪里去运行?主方法就是程序的入口
package ch02;public class People {<span style="white-space:pre"></span>private String name;<span style="white-space:pre"></span>private String sex;<span style="white-space:pre"></span>private int age;<span style="white-space:pre"></span>public People(){<span style="white-space:pre"></span><span style="white-space:pre"></span>}//自己设计的构造方法<span style="white-space:pre"></span>public String eat(String food) {<span style="white-space:pre"></span>return "我在吃" + food;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>public void tea() {<span style="white-space:pre"></span>System.out.println("我在喝茶。");<span style="white-space:pre"></span>}<span style="white-space:pre"></span>// 调用eat()和tea()<span style="white-space:pre"></span>public static void main(String[] args) {<span style="white-space:pre"></span>String str = new People().eat("apple");<span style="white-space:pre"></span>System.out.println(str);<span style="white-space:pre"></span>new People().tea();<span style="white-space:pre"></span>}}
构造方法
在程序中创建对象时,也需要清除或者修改其属性的值,这就是构造方法
构造方法,是类中比较特殊的一种方法,主要用于初始化一些参数。
Java中提供有默认的构造方法,如果在类中没有提供自己的构造方法,在编译时,编译器就会为这个类添加一个构造方法。构造方法的语法如下
People people = new People();
这个语句中,构造方法People()实际完成的效果是People(){name = null;sex = null;age = 0;}
如果在类中设计了自己的构造方法,那么构造方法的名称必须要和类的名称相同,且没有返回值。在类中提供自己的构造函数后,在编译时,编译器就不会提供默认的构造函数了。在创建对象时,就需要自己添加参数,也就是各属性被初始化的值。
package ch02;public class PeopleConstructor {private String name;private String sex;private int age;public PeopleConstructor(String iname, String isex, int iage) {name = iname;sex = isex;age = iage;}public String eat(String food) {return "我在吃" + food;}public void tea() {System.out.println("我在喝茶。");}// public static void main(String[] args) {// PeopleConstructor P = new PeopleConstructor();// System.out.println("初始值" + P.name);// System.out.println("初始值" + P.sex);// System.out.println("初始值" + P.age);// }public static void main(String[] args) {PeopleConstructor P = new PeopleConstructor("dby", "man", 22);System.out.println("姓名:" + P.name);System.out.println("性别:" + P.sex);System.out.println("年龄:" + P.age);}}
成员变量
又称全局变量,定义在类中,和方法出于同一个层次。语法:变量修饰符 类型 变量名
成员变量名称可以和类中的方法同名
局部变量
是在方法中定义和使用的,它的使用范围仅限于所声明的方法中。不同方法内定义的变量名可以相同。
this关键字
使用this关键字可以不通过对象,引用成员变量和方法
如果成员变量和方法中的参数名相同时,this很重要
package ch02;public class ThisTwoTest {String eat = "吃饭时间";String tea = "下午茶时间";int i = 16;public void eat(int i) {if (i > 11 && i < 14) {System.out.println("现在时间是:" + i + "点,是" + eat);} else if (i > 15 && i < 17) {System.out.println("现在时间是:" + i + "点,是" + tea);}}public void tea(int i) {if (this.i > 11 && this.i < 14) {System.out.println("现在时间是:" + this.i + "点,是" + eat);} else if (this.i > 15 && this.i < 17) {System.out.println("现在时间是:" + this.i + "点,是" + tea);}}public static void main(String[] args) {ThisTwoTest t = new ThisTwoTest();t.eat(12);// eat直接传12,现在时间是:12点,是吃饭时间t.tea(12);// 有this关键字,使用的是成员变量this.i,现在时间是16点,是下午茶时间}}
有时要在一个构造函数中调用另一个构造函数,而构造函数之间的差别也仅在于其中的参数,使用this关键字时,编译器可以根据其中的参数来寻找不同的构造方法
package ch02;public class ThisConstructor {String name;public ThisConstructor(String name) {this.name = name;System.out.println("姓名:" + this.name);}public ThisConstructor() {this("张三");}public static void main(String[] agrs) {new ThisConstructor();}}
对象可以是任何物体,抽象的事物也可以是一个对象
创建和使用对象
语法: 类名 对象名 = new 类名(参数列表)
对象行为和属性访问
在获得一个类的对象实体后,在对象实体后加 . 就可以调用对象的属性,如果想得到对象的行为,也可以采用同样的方式
package ch02;public class Car {public String color;public String brand;public int number;public Car(String color, String brand, int number) {this.color = color;this.brand = brand;this.number = number;}public void run() {System.out.println("running");}public static void main(String[] args) {Car car = new Car("white", "BMW", 52588);System.out.println("汽车的颜色是:" + car.color);System.out.println("汽车的牌子是:" + car.brand);System.out.println("汽车的牌照是:" + car.number);car.run();//System.out.println(this.number);//仔细看看main()方法就不难发现,//主函数是一个静态(static)方法。//这里就引入了另外一个知识点,//static修饰的方法内部是不允许出现非静态成员变量或成员方法,//即static修饰的方法与该类相关,但是不跟该类的具体实例相关,//而this(即对象)是具体类的对象实例,因此这里就会在编译的时候报错。//静态方法不需要对象就能调用,类名.方法名 ,//所以如果静态方法里面出现this,就不知道this是哪个对象的引用,//因为有可能根本就不是对象调用方法的。}}
比较对象
在程序中,使用“==”和equals方法来进行对象的比较。
使用“==”判断的是二者是否为同一个对象,比较的是两个对象的地址,即使两个对象的内容相同,地址不同也会输出false
使用equals比较的是两者的值,即便不是同一个对象,只要值相同,就会输出true
销毁对象
垃圾回收机制(GC),使用方法:System.gc()
垃圾回收机制用来管理使用new关键字创建的对象所占用的内存资源
- Java基础复习---面向对象程序设计
- Java复习总结:Java面向对象程序设计 —面向对象(基础篇)
- java基础---面向对象程序设计
- Java基础复习:面向对象练习1
- JAVA基础复习六-面向对象
- JAVA基础复习七-面向对象二
- 面向对象程序设计-复习C++
- C++面向对象程序设计复习
- 面向对象程序设计基础
- java面向对象复习
- java面向对象复习
- Java 面向对象复习
- java面向对象复习
- Java复习总结:Java面向对象程序设计—面向对象(高级篇)
- java基础复习之面向对象语法基础
- android基础篇------------java基础(4) (面向对象程序设计)
- Java面向对象程序设计
- java面向对象程序设计
- ☆首发☆非常适合学习理解laravel的项目--图书管理系统
- leetcode No138. Copy List with Random Pointer
- File文件的 基本操作
- 基于N源码的ContentService数据通知机制
- Maven中Pom文件打包配置build
- Java基础复习---面向对象程序设计
- 130. Surrounded Regions 将包围的符号变换 BFS & DFS & UNION find
- Median of Two Sorted Arrays
- 51单片机串口通信(字符串接收和发送)
- linux c++ epoll的简单实现
- JavaScript常用的事件及简单应用
- Leetcode 112 Path Sum
- (新人)公司考核对web项目的一些要求 下次我要注意
- 将网页内容写入本地