`
剑&箫
  • 浏览: 54395 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java基础知识总结

    博客分类:
  • Java
阅读更多
这学期在学校初步接触了Java,感觉对Java挺有兴趣的。于是报名参加了蓝杰实训,在蓝杰的技术老师的辅导下学到了很多有用的东西。现在把在蓝杰学到的Java的一些基础知识和个人感受总结如下(如有不正确的地方欢迎指正):
一、类:一套描述事物共同点的规则,是一个抽象的概念。
二、对象:现实生活当中具体存在的事物或者是脑海中想象的东西,是一个具体的个体。
三、类和对象的关系:对象是类的一个具体描述,比如学生是一个类,而具体的某位同学就是学生这个类的一个对象;电脑是一个类,现在我正用的这台机器是电脑这个类的一个对象等。
四、类的定义:
在java中定义一个类是用关键词class+类名+{},比如class  A{};在class前还可以用关键字public修饰,表明这个类是公有的,公有类只能有一个。在{}中可以定义成员变量(属性)和成员方法。具体形式如下:
public class 类名{
//属性
成员变量1(数据类型 变量名);
成员变量2(数据类型 变量名);

成员方法1;(限定修饰符 返回值类型(无返回值用void) 方法名(形参类型 形参名){方法体})
成员方法2;(限定修饰符 返回值类型(无返回值用void) 方法名(形参类型 形参名){方法体})

}
比如定义一个学生类Student如下:
public class Student{
private String name;
private String number;
private int age;
public void setName(String  n){
    name=n;
}
public void setNumber(String  s){
    number=s;
}
public void setAge(int  t){
    age=t;
}

public void study(){
     System.out.pringln(name+”正在学习!”);
}
}
五、类的作用:
1. 作为模板,可以创建对象
2. 作为数据类型
六、对象的创建:
类名 变量名 =  new 类名();
比如创建Student类的对象如下:
Student st = new Student();
七、对象调用方法
a.方法名(值1,值2);
八、构造方法:构造方法是一种特殊的成员方法,主要体现在以下几个方面:
1. 构造方法必须与类名完全相同,没有返回值。
2. 构造方法的调用是在创建一个对象时使用new进行操作的,其作用是初始化对象。
3. 不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
4. 构造方法在创建对象时自动执行,一般不能显式地直接调用。
5. 构造方法是可以被重载的。
如果没有为类定义构造方法,系统会自动为该类生成一个默认的构造方法,默认的构造方法的参数列表及方法体均为空,所生成的对象的属性值为零或空,如果定义了构造方法,则将自动屏蔽掉默认的构造方法。构造方法不能被继承。
上面定义的Student类得构造方法的重载如下:
public class Student{
private String name;
private String number;
private int age;
public Student(String  n, String  s, int  t){
   name = n;
   number = s;
   age = t;
}
public Student(String  n, String  s,){
   this(n,s,20);
}
   }
九、方法的重载:
方法重载的条件:
1. 两个或两个以上的方法的方法名相同。
2. 形参个数和类型不同。
在Student类中的学习的方法重载如下:
public class Student{
public void study(){
     System.out.pringln(name+”正在学习!”);
}
Public void study(String  km){
   System.out.pringln(name+”正在学习!”+km);
}

继承:
为什么要继承?
1. 体现对象之间的关系
2. 节省编程时间
   继承使用关键字extends, 继承到的是父类的属性与方法,例如大学生类继承学生类,大学生类继承了学生类的属性和方法,父类:又叫 基类,超类,子类:又叫做扩展类。
例如大学生类UNSudent继承Student类如下:
public class UNStudent extends Student{


//大学生特有的玩的方法
public void play(){
System.out.println("大学生特有的玩的方法");
}
}
十、方法的重写:在子类中定义方法所用的名字、返回类型及参数表和父类中方法使用一样,但方法体不一样。
方法重载与重写的区别:方法重载是在同一个类中进行的,而方法重写是在父类与子类之间进行的。
例如在UNStudent类中重写Student的学习方法如下:
public class UNStudent extends Student{

//大学生特有的玩的方法
public void play(){
System.out.println("大学生特有的玩的方法");
}
//重写从父类继承来的方法]
/**
* 重写:方法的定义一样,方法体不一样
*/
public void study(){
System.out.println("大学生重写的学习方法");
}
}
十一、重写规则:
1. 重写方法的允许访问范围不能小于原方法。
2. 重写方法所抛出的异常不能比原方法多。
如果子类已经重写了父类的方法,但在子类中还想用父类中被隐藏的方法,可以用关键字super,super关键字也可以用于构造方法,如果在子类的构造方法的定义中调用父类的构造方法,则调用语句必须出现在子类构造方法的第一行。
子类重写父类的方法后要注意以下几点:
1.一个对象只能调用在其定义的类型及其父类中声明了的方法
2.如果子类重写了父类的方法,则子类对象会调用重写之后的方法
3.一个对象值调用父类的方法还是子类的方法,只取决于对象本身的类型
多态:由于继承和重写机制,相同类型的对象调用相同的方法,得到的结果可能不一样


重新创建一个Test类如下:(好好体会Java的多态性)
public class Test {
public static void main(String args[]){

//创建一个学生对象
Student stu = new Student();
stu.setName("李四");
stu.study();


//创建大学生对象
UNStudent unt = new UNStudent();
unt.setName("Lisi");
unt.study();


//自动转型:子类对象的类型可以自动转成父类的类型
Student stu1 = new UNStudent();
stu1.setName("WXH");
stu1.study();

//强制转型:将父类类型的对象强制转成子类的类型
UNStudent un = (UNStudent)stu1;
un.play();

}
运行结果如下:
李四正在学习中
大学生重写的学习方法
大学生重写的学习方法
大学生特有的玩的方法
0
0
分享到:
评论

相关推荐

    java知识点汇总

    首先,从【标题】:“java知识点汇总” 和【描述】:“内容较杂,有java初中高级知识点,也有Java web架构及原理”来看,涉及的内容包括了Java的序列化与反序列化、IO流的基础知识、多态的概念、泛型的应用、反射...

    java知识点总结

    java知识点总结 一、Java 概述 Java 语言的发展始于 1991 年,由 Sun 公司的 James Gosling 等人开始开发,最初命名为 Oak,旨在用于控制嵌入在有线电视交换盒、PDA 等的微处理器。1994 年更名为 Java。Java 语言...

    java基础知识总结

    Java 基础知识总结 Java 是一种广泛使用的编程语言,由 Sun 公司的 James Gosling 等人于 1991 年开始开发。Java 有三种技术架构:JavaEE、JavaSE 和 JavaME。JavaSE 是桌面应用程序的开发基础,JavaEE 是企业环境...

    java 基础知识总结(经典)

    这篇“Java基础知识总结(经典)”涵盖了Java开发中的核心概念和重要知识点,旨在为初学者和有经验的开发者提供一个全面的回顾。以下是主要的学习点: 1. **Java环境配置**:在开始编程之前,必须安装Java ...

    Java基础知识点总结.docx

    Java是一种广泛使用的面向对象的编程语言,其基础知识涵盖了多个方面,包括语法、面向对象特性、异常处理、多线程...以上只是Java基础知识的一个概述,每个话题都值得深入探讨和实践,不断学习和总结是提升技能的关键。

    JAVA基础知识总结.

    JAVA基础知识总结 JAVA基础知识总结 JAVA基础知识总结

Global site tag (gtag.js) - Google Analytics