黑马程序员_面向对象讲解

------- android培训java培训、期待与您交流!----------

 

首先要明白面向对象是什么东西,为什么要出现面向对象的java思想?

对象都有属性,方法,只要拿到对象就能操作对象的属性和方法

所以把事物封装成对象,便于操作

 

1 面向对象三个特征:封装,继承,多态

  以后开发就是找对象使用,没有对象,就创建一个对象.

  找对象,建立对象,使用对象,维护对象的关系

 

2 定义类就是在描述事物,就是在定义属性和行为,属性和行为共同成为类中的成员(  成员变量和成员方法)

 

3 Car c=new Car();   //c就是一个类类型变量.记住类类型变量指向对象

 

4 当这个类不需要保证独立运行可以不用写主函数

  当要这个类需要运行的时候,创造类对象即可

 

以下是没有主函数的类,可以创建对象使用
class Student
{
	private String name;
	private int age;
	Student(String name,intage)
	{
		this.name=name;
		this.age=age;
	}
}

  5 成员变量(直接在类下面定义)默认初始化值为0和局部变量(在函数里定义或在语   句中)没有默认初始化值

  成员变量:作用于整个类中

  局部变量作用于函数中或者语句中

  

  在内存中的位置:

  成员变量在堆内存中

  局部变量存在于栈内存中

 

6 例子:
class Car
{
       String color="红色";  //这是成员变量
       int num=4;           //这是成员变量
       void run()           //这是成员方法
       {
       		System.out.print(color+"..."+num);
       }
       public static void main(String[] args)
       {
      		 int money=10000;      //这是局部变量
       		Car c=new Car();      //在本类中创建本类对象

//c.run;这是错误的,因为主函数是static,而成员方法不是static,静态函数只能调用静态函数,因为静态函数类加载的时候就有了,而非静态函数要创建对象才会存在,还没有怎么能调用呢,要懂得先来后到的秩序啊兄弟

非静态函数可以调用静态函数,因为静态函数比非静态函数先加载

       c.run ;      

       c.num=10;    //调用这个可以

       }

}


7 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式.

  好处:将变化隔离.便于使用.提高重用性.提高安全性

  

  原则:将不需要对外提供的内容都隐藏起来

       把属性都隐藏,提供公共对其访问

 

  注意:私有仅仅是封装的一种表现形式.

 

8 private:私有.权限修饰符:用于修饰类中的成员(成员变量,成员函数)

                     私有后只能在本类中访问

 

9 构造函数:

     函数名与类名相同

     不用定义返回值类型

     不可以写return语句

  作用:对象一建立就会调用对应的构造函数,是给对象初始化

  

  注意:

    当一个类中没有定义构造函数时,那么系统会默认会给该类加入一个空参数 的     构造函数:例子

    person(){}

   

    当类中定义了构造函数,系统就不帮你定义构造函数了

 

10 构造函数和一般函数在写法上有不同,在运行上也有不同

   构造函数是在对象一建立就运行,给对象初始化

   而一般方法是对象调用才执行,是给对象添加对象具备的功能.

   

   一个对象建立,构造函数只运行一次

   而一般方法可以被该对象调用多次

 

11 什么时候定义构造函数呢?

    当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中

   

12 构造代码块

       给对象进行初始化,对象一建立就运行,而且优先于构造函数执行

 

   和构造函数的区别:

       构造代码块是给所有对象就行初始化

       而构造函数是给对应的对象初始化

 

   例子:
   class persro
   {
   	
	//这是一个构造函数
{  


  	System.out.print("name"+name);
  	 }
   
	//这是一个构造函数
person() { System.out.print("name"+name); } }


13 this:看上去是用于区分局部变量和成员变量同名的情况

   this为什么可以解决这个问题呢?

   this:代表本类的对象,到底代表那一个呢?

        代表它所属函数的所属对象的引用.

        简单说:那个对象在调用this,this就代表那个对象的

14 this的应用:当定义类中的功能时,该函数内部要用到调用该函数的对象时,这时    用this来表示该对象,但凡本类功能内部使用了本类对象,都用this来表示

 

15 例子:比较两个人是否是同龄人
class Person
{
       Private int age;
       Person(int age)  //这句话int age定义的age是在栈内存中,函数初始化                        //  时,把20赋给了age     age=20;
       {
       this.age=age;    //这句话右边的age是局部变量的age
                        //中的this是调用函数的对象,this.age表示调用函数的对象的age.   
                        //this.age=age局部变量的age赋值给当前调用函数的对象的age
       }
       public boolean compare(Person p)
       {
       return this.age==p.age;
       }
}
 
class test
{
       public static void main(String[] args)
       {
       Person p1=new Person(20);
       Person p2=new Person(25);
       p1.compare(p2);
       }
}

16 构造函数间调用构造函数,格式为this(...);

   this语句用于构造函数之间进行互相调用

   this语句只能定义在构造函数的第一行,因为初始化要先执行

 
例子:
class person
{
       private int age;
       private Sting name;
       person(String name)
       {
       this.name=name;
       }
       person(String name,int age)
       {
       this(name);  //这句话是构造函数里面调用构造函数,一般函数调用格式是:函数名();   但是构造函数就要用this代替函数名
                         因为this代表调用函数的对象所要初始化的数
                    //this(name)定义在函数的第一行,因为避免被其他初始化覆盖
       this.age=age;
       }
}
 
class test2
{
       public static void main (String[] args)
       {
       person p1=new person(zhangsan,25);
       person p2=new person(wangwu,20);
       }
}
 


 

 

 

 

 

 ------- android培训java培训、期待与您交流!---------- 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑马程序员 设计模式c 是指黑马程序员通过C语言实现设计模式的一门课程。设计模式是面向对象设计中经过实践和总结后的一种解决问题的方案。它是一种具体的设计思路,是编写高质量、易于理解、可维护和可扩展的代码的指导原则。在软件开发中,我们经常会遇到各种各样的问题,设计模式可以帮助我们更加灵活高效地解决这些问题。 黑马程序员设计模式C课程从理论讲解到实践操作,通过C语言来实现各种设计模式,帮助学员理解设计模式的原理和应用场景。通过学习该课程,学员可以提升自己的设计能力和编程水平,使得自己编写的代码更加优雅和可复用。 该课程主要包括以下几个部分:首先是介绍设计模式的基本概念和分类;然后是详细讲解每一种设计模式的原理、结构和应用场景;接着是通过具体的案例来演示如何在C语言中实现每一种设计模式;最后是实际项目实战,让学员能够将所学的设计模式应用到实际的软件开发中。 通过学习黑马程序员设计模式C课程,可以帮助开发人员更好地理解和应用设计模式,提高软件开发的质量和效率。无论是对于初学者还是有一定经验的开发人员来说,都可以从中获得实际的收益。设计模式是编写高质量代码的基石,掌握设计模式可以让我们在编程过程中更加得心应手,实现代码的可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值