java基本知识点

来源:互联网 发布:电脑玩手游用什么软件 编辑:程序博客网 时间:2024/05/16 19:23

纸上得来终觉浅

1.构造函数:

1)每个类都有一个默认的构造函数

2)构造函数一旦显示书写,默认的构造函数会失效

3)构造函数可以重载

package com.roadArchitectWeb.Test;class Test{public Test(String name){System.out.println(name.toString());}//public Test(){////}}public class testPublic {public static void main(String[] args) {String Name = "zhang";Test test1 = new Test(Name);/*这一行报错*///Test test2 = new Test();}}

2.引用传递和值传递

声明一个新的对象的时候会产生一个引用;

传递一个如String类型的值会产生一个值传递;

3.this关键字

1)引用本类中的属性和方法

2)引用本类中的构造方法,this(),且需要放置在其他构造函数的首行

3)对对象的引用,比如应用在输出中

4.static关键字

1)作用于属性, 表示类中的全局变量

2)作用于方法, 代码方法可以被直接使用

3)static方法中只能使用static修饰的属性和方法

5.java的面向对象的三个重要特点:

1)封装性

为什么要封装:

java把所有东西看做是对象,要对对象进行处理的话就要求对象具有独立性,为了实现独立性就需要对其进行封装,从而成为一个独立的个体。 这样在

另一方面有帮助其实现私有性。

2)继承性

A.第一个特点是单继承, 一个子类只能继承一个父类

B.子类不能直接访问父类的私有成员

C.子类在实例化的时候隐式的先调用父类的构造方法

class animal{public animal(){System.out.println("animal.enclosing_method()");}private String name = "animal";public String getName() {return name;}public void setName(String name) {this.name = name;}public void eat(){}}/*单继承*/class dog extends animal{/*会先调用父类的构造方法*/public dog(){System.out.println("dog.enclosing_method()");}/*这里不能直接访问父类中的name,要通过get和set方法*/String myName = getName();}public class abs{public static void main(String[] args) {dog dog = new dog();}}

下面是运行结果:


D.重载与重写:

重载参数类型或个数要不同,重写完全相同;重载发生在本类中,重写在继承中;重载没有权限限制,子类在重写方法时不能比父类有更小的访问权限。

在重写的方法中需要调用父类的这个方法,使用super关键字。

class animal{public void eat(){System.out.println("animal.eat()");}public void eat(String heavy){System.err.println("animal.eat(),heavy");}}class dog extends animal{/*重写,这个时候权限不能为protect或者更小*/public void eat(){super.eat();System.out.println("dog.eat()");}}public class abs{public static void main(String[] args) {dog dog = new dog();dog.eat();animal animal = new animal();/*重载,调用的是第二个eat方法*/animal.eat("100");}}
下面是运行结果:



3)多态

多态内容较多,下篇文章再写



0 0
原创粉丝点击