Java基础--面向对象1
来源:互联网 发布:郑州平面设计美工培训 编辑:程序博客网 时间:2024/06/05 04:47
1.面向对象设计思想
对于去新疆的问题:
c语言面向过程:我开车,我挂挡,我踩油门,我过河北,……
Java面向对象:我命令车去新疆,车怎么去不关我的事
面向对象的基本思想是,从现实世界中客观存在的事物出发来构造系统,冰在系统的构造中尽可能运用人类的自然思维方式。
常采用的方法与原则,如抽象,分类,继承,聚合,多态等。
2.对象和类
对象用计算机语言对问题域中事物的描述,对象通过属性和方法来分别对应事物所具有的静态和动态属性。
类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所因具有的静态和动态属性。
类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
类(对象)之间的关系
关联关系:方法的参数是另一个类的对象(教授教(方法)研究生(参数),研究生被另一个类所用)
继承关系:xx是一种xx
聚合关系:整体和部分,xx是xx的一部分
实现关系:大卡车,轿车,自行车实现go,各有各的方法
多态
Java与面向对象
对象是Java程序的核心,在Java程序中“万事万物皆对象”
对象可以看成是静态属性(成员变量)和动态属性(方法)的封装体
类是用来创建同一类型的对象的模板,在一个类中定义了该类对象所具有的成员变量和方法
成员变量=属性
例:设计一个狗抓老鼠的类和方法
public class Dog { int furColor; float height; float weight; void catchMouse (Mouse m){ m.scream(); } public static void main (String[] args){ Dog d = new Dog(); Mouse m = new Mouse(); d.catchMouse(m); }}
3.Java类的定义
class关键字来定义一个类
class 类名
class Person{ private int id; private int age = 20;//成员变量定义 public int getAge(){ return age; }//定义方法}
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化
成员变量作用于整个类体
局部变量必须初始化
4.引用
Java中的对象通过引用对其操作的。
String s;//声明了一个String类型的引用变量,但并没有使它指向一个对象
s = new String ("helloworld");//使用new语句创建一个String类型的对象并用s指向它以后可以通过s完成对其的操作,前面提到new出来的东西存在堆内存里
如何在内存中区分类和对象?
类是静态的概念,代码区
对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量)而方法只有一份,执行的时候在占用内存。
5.对象的创建和使用
必须使用new关键字创建对象
使用对象(引用). 成员变量或来引用对象的成员变量
使用对象(引用). 方法(参数列表)来调用对象的方法
同一类的每个对象有不同的成员变量存储空间
同一类的每个对象共享该类的方法
6.构造方法
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(5)构造方法可以重载,以参数的个数,类型,顺序。
使用new+构造方法 创建一个新的对象
构造函数是定义在Java类中的一个用来初始化对象的函数
构造函数与类同名且没有返回值
例如:
Person的构造函数
public class Person{ int id; int age; Person (int n,int i){ id = n; age = i; }}
在另一个类里面可以调用构造函数
public class Texs { public static void main(String[] args){ Person tom = newPerson(1,25); Person john = newPerson(2,24); System.out.println(tom.age); }}
输出结果为25
构造函数
当没有指定构造函数时,编译器为类自动添加形如
如:
class Point {
public int x;
public int y;
}
……Point p = new Point();……
7.约定俗成的命名规则
类名的首字母大写
变量名和方法名的首字母小写
运用驼峰标识(名字有多个单词构成每个单词的首字母大写,如catchMouse)
- java 面向对象基础1
- java基础 面向对象1
- Java基础--面向对象1
- Java.1面向对象基础
- java基础 面向对象
- Java面向对象基础
- java基础-面向对象
- java面向对象基础
- JAVA面向对象基础
- Java面向对象基础
- Java面向对象基础
- java基础----面向对象
- java 面向对象基础
- 【Java基础】面向对象
- java基础面向对象
- JAVA面向对象基础
- Java基础:面向对象
- java基础---面向对象
- 国王的魔镜
- Java基础--基础语法1
- Linux 终端下 dstat 监控工具
- Java基础--基础语法2
- RecyclerView的使用
- Java基础--面向对象1
- Java基础--面向对象2
- Java基础--关于static的变量和方法使用的一些不解
- Java基础--面向对象3
- Java基础--面向对象4
- Java基础--异常处理
- 数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)
- Java基础--数组
- java基础--流(1)