Java面向对象

1.面向对象:面向对象是基于面向过程,对象是将功能进行了封装。只要找到了具体的建出对象,就可以调用其中的具体功能。面向对象也是用来解决问题的一种思维模式。

     1)对象:通俗的来说:万事万物皆对象。现实世界中可以明确标识的一个实体就是对象,例如:一个学生,一张桌子,一个圆每个对象都有自己独特的状态和行为

        a)状态:也称为特征或属性,是由具有当前值的数据域来表示的。例如圆对象有一个数据域radius,它是标识圆的属性

        b)行为:也称为动作是由方法定义的。调用对象的一个方法就是要求对象完成一个动作。例如可以为圆对象定义一 个名为 getArea()方法,则园对象可以通过getArea()得到圆的面积

     2)类:类是具有相同属性和方法的一组对象的集合。类定义了对象将会拥有的特征(属性)和行为(方法)。就如“物以类   聚   人以群分”。

     3)类与对象的关系: 类于对象的关系就如同模具和用这个模具制作出的物品之间的关系。一个类给出他的全部对象的一个    统一的定义,而它的每个对象则是符合这种定义的一个实体。因此类和对象的关系就是抽象和具体的关系。类是多个多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例
     4)如何去定义一个类?
                一般而言主要描述两个方面:
                  属性:可以用一些参数描述类的信息
                  行为:可以用一系列的动作描述类的信息

public  class 类名{
    // 1.此类的相关属性(成员变量)
    
    // 2.此类的相关方法(成员方法/函数)
}

          例如定义一个学生类:

public class Student{
    // 相关属性
    姓名
    学号
    班级
    专业
    性别....
    
    // 相关方法
    学习
    考试
    作业...
}

        注意:主类 : 主要用于运行程序 作为程序的开始 存在主函数main。

                   实体类: 主要用于描述事物  但不推荐写主函数

 2.构造函数:构造函数具有和定义它的类完全相同的名字和所有其他方法一样构造函数可以重载。

      1)三个特征:构造方法必须具备和所在类相同的名字

                             构造方法没有返回值类型甚至连 void 也没有

                             构造方法是在创建一个对象使用 new 操作符时调用的

      注意:如果类中没有定义任何构造函数的话 会有一个隐藏的无参构造函数 ,如果类中有定义构造函数 则默认的无参构造函数则不存在。

      2)作用:一般用来初始化成员属性和成员方法的,即new对象产生后,就调用了对象了属性和方法。

      3)构造函数与一般函数的区别:

              一般函数不能调用构造函数,只有构造函数才能调用构造函数。

              构造函数没有返回值

              构造函数只有在创建对象时调用, 一般函数在对象创建之后由对象调用,一般函数可以被调用多次。

        4)示例:


 class Demo01{

    public static void main(String[] args) {

        Con c1=new Con();             //输出Hello World。new对象一建立,就会调用构
                                      //造函数Con(),并执行其中的println语句。

    }

}

class Con{        

    Con(){                                       //定义无参构造函数,输出Hello World

        System.out.println("Hellow World");

    }

}

  3.成员变量和局部变量:

     1)在类中的位置不同:

              成员变量在类中,方法外。

              局部变量在方法声明上,方法中。  

      2)在内存中的位置不同:

             成员变量属于对象,进堆内存。

             局部变量属于方法,进栈内存。

     3)生命周期不同:

             成员变量随着对象的创建而存在,随着对象的消失而消失。

            局部变量随着方法的调用而存在,随着方法的调用完毕而消失。

      4)初始化值不同:

            成员变量有默认的初始化值( 引用数据类型初始化值为null;整数初始化值为0;  小数初始化值为0.0;布尔初始化值为false;字符初始化值为‘\u0000’)

           局部变量没有默认初始化值,必须先定义,再赋值,然后再能使用。

     注意:局部变量名称可以和成员变量名称一致,调用时采取就近原则。

4.private关键字:可以修饰成员变量和成员方法,被其修饰的成员只能在本类中被访问

    注意:在定义类时给成员变量赋值private,并提供get和set方法用于外部访问,这样可以提高数据的安全性

              若对成员方法 private,该方法只能在本类访问,其他不能访问。


public class pritry {
	private int age ;
	private String name ;
	public int getAge() {           //访问age
		return age;
	}
	public void setAge(int age) {    //修改age
		this.age = age;
	}
	public String getName() {        //访问name
         	return name;
	}
	public void setName(String name) {   //修改name

		this.name = name;
	}
}

public class pritest {

    public static void main(String[] args) {
		  pritry p = new pritry();
		  p.setAge(10);
		  p.setName("张三");
		  System.out.println(p.getAge()+"  "+p.getName());

	}

}

 

   

             

 

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值