类和对象.2

面向对象三大主要特征:
封装性:是保护内部的结构不直接被外部可见,安全性就高了
继承性:在已有的基础之上继续进行的扩充
多态性:在一个合理的范围之内进行有限的变化,是整个项目的灵魂
面对对象的程序开发之中,还包括三个方面
OOA面向对象分析
OOD面向对象设计

OOP面向对象编程

类:是具备某些共同的特征群体,属于广义的范畴
对象:是类的具体描述,实际的产物,例如一个具体的人一定是对象

先定义一个类,后根据类产生对象

类有两个两个重要的组成部分
属性:是标识每一个对象的特征,每一个对象都有自己的属性内容,所谓的属性实际上就是一个变量
方法:是公共的行为,表示某些固定的操作,例如:说话
在JAVA之中类是属于引用数据类型,对象定义:
声明并实例化对象:类名称 对像名称=new 类名称();
分部进行:
声明对象:类名称 对象名称=null;

实例化对象:对象名称=new 类名称();

所用的引用数据类型,如果要想进行使用,那么必须通过关键字“new”来进行内存的分配(开辟内存)
如果在一个类对象产生之后没有设置属性的内容,那么所有对象之中的属性内容都是其对应的默认值
内存关系:
栈内存:每一块栈内存的是一块栈内存的引用地址,可以理解为堆内存的名字,可以简单理解为利用对象名称来理解栈内存功能。
堆内存:保存每一个对象的具体信息,是真正的数据体,但是堆内存必须通过关键字“new”来开辟,
只要是存在有new永恒表示开辟新的堆内存空间。

"NullPointerExoeption"(空指向异常)异常信息,只会出现在引用数据类型

package classobj;
class Person{
String name;
int age;
public void tell()
{
System.out.println("姓名:"+name+"年龄:"+age);
}
}
public class obj1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person per=new Person();//声明并实例化对象
Person per1=new Person();
per.name="张三";
per.age=20;
per1.name="李四";
per1.age=30;
per.tell();
per1.tell();
}

}

package classobj;
class Person1{
String name;
int age;
public void tell()
{
System.out.println("姓名:"+name+"年龄:"+age);
}
}
public class obj2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person1 per=new Person1();//声明并实例化对象
Person1 per1=new Person1();
per.name="张三";
per.age=20;
per1.name="李四";
per1.age=30;
per1 =per;
per1.name="王五";
per.tell();
}
}

class Person3{
private String name;
private int age;
public void setName(String n) 
{
name=n;
}
public void setAge(int m)
{ if(m>=0 && 100>=m) {
age=m;
}
}
public String getName() 
{
return name;
}
public int getAge()
{

return age;
}
public void tell()
{
System.out.println("姓名:"+name+"年龄:"+age);
}
}
public class obj3 {


public static void main(String[] args) {
// TODO Auto-generated method stub
Person3 per=new Person3();//声明并实例化对象
per.setName("张三");
per.setAge(20);
per.tell();
}
}

猜你喜欢

转载自blog.csdn.net/a584898/article/details/81057278
今日推荐