类与对象,构造器,方法重载继承等基础知识

(下面是我对类与对象以及其他一些java基础知识的理解,不当之处欢迎大家指出)

1.高级语言是用来帮助我们与计算机对话,我们通过编程指导计算机完成功能

2.面向对象的分析:

 1)类与对象

    类:是指具有很多相同点的集合,不是实体

在eclipse中新建类的方法:


<span style="color:#000000;">public class 类名</span>
<span style="color:#000000;">public class Teacher</span>

           对象:是指组成类的个体,是实体

新建类的方法是:

<span style="color:#000000;">类名 对象名=new 类名();</span>
<span style="font-size:14px;color:#000000;">Teacher t=new Teacher();</span>

2)面向对象编程分析

面向对象即只关注动作(方法)的执行者是谁

比如:学生上课,这件事中关注的是学生而不是学生怎么上课


 3)面向过程编程分析

面向过程即关注动作(方法)是怎样执行的

一个类的特征的定义的方法:

public class 属性名;
<span style="font-size:14px;color:#000000;">public String name;</span>

一个类的方法的定义的方法:

public 返回类型 方法名(参数列表)
<pre class="html" name="code">public void teach(String stuname)
	{
		System.out.println(name+"老师正在给"+stuname+"学生上课");
	}
 
 

用对象调用属性的格式:对象名.属性名

Teacher t=new Teacher();
		//给对象命名
		t.name="张三";

用对象调用方法的格式:对象名.方法名(参数)

Teacher t=new Teacher();
	        //执行行为(调用方法)
		t.teach("李四");


 
 构造方法:构造一个对象

Teacher t=new Teacher();

t就是构造的一个对象

内存中堆栈大致意思为下图:

新创建的对象传址给对象名,保存在堆中,类的属性及方法都保存在栈中

 

构造方法基本格式:public 类名(参数列表){}

public void teach(String stuname)
	{
		System.out.println(name+"老师正在给"+stuname+"学生上课");
	}


方法重载:

就是在同一个类里面,几个方法的方法名相同,但参数不同

  如以下几种

public class Teacher
{
public void teach(String stuname)
	{
		System.out.println(name+"老师正在给"+stuname+"学生上课");
	}
public void teach(String stuname)
	{
		System.out.println(...........);
	}
public void teach(String stuname,int stuage)
	{
		System.out.println(.......);
	}
public void teach(int stuage)
	{
		System.out.println(..........);
	}


}


三种方法互为重载


继承关系:

子类继承到父类除私有属性之外的所有属性,并可以派生出自己的属性即方法

父类有的,除私有属性外,子类都有

如下面两个类:

public class A
{
	public String name;
	public void eat(){
		System.out.println("吃.......");
	}
}
public class B extends A
{
	B b=new B();
	b.eat();
}
B通过关键字extends继承父类A的方法并调用了它


方法重写:

子类通过重写父类继承过来的方法来覆盖掉父类的方法,但方法名,参数,返回类型等都不能变

如下面例子:

public class A
{
	public String name;
	public void eat(){
		System.out.println("吃.......");
	}
}
public class B extends A
{
	B b=new B();
	public void eat(){
		System.out.println("吃fffffffffffffff");
	}
	b.eat();
}


则最后输出结果应为"吃ffffffffffffffffffff"
实现了方法重写,应与重载区分开


自动转型:

当子类对父类方法进行重写后,调用的是重写后的方法,如果没有重写,调用的方法则依然是父类的

例子同上









猜你喜欢

转载自blog.csdn.net/dream_18/article/details/51532355