java基础知识

1、静态方法是不能向对象实施操作的方法不能在静态方法中访问实例域,静态方法可以访问自身类中的静态域。

两种情况使用静态方法

  1. 当一个方法不需要访问对象状态,其所需参数都是通过显示参数提供的
  2. 当一个方法只需要访问类的静态域。

2、main方法不对任何对象进行操作。事实上在启动的时候还没有任何一个对象

3、值调用:表示方法接收的是调用者提供的值;引用调用:表示方法接收的是调用者提供的变量位置。

一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。

  1. 一个方法不能修改一个基本数据类型的参数(即数值型和布尔型值)。
  2. 一个方法可以改变一个对象参数的状态。
  3. 一个方法不能让对象参数引用一个新的对象。

4、默认域初始化,如果在构造器中没有显示地给域赋予初值,它就会自动地赋为默认值:数值为0,布尔值为false,对象引用为null.

5、仅当类没有提供任何构造器的时候,系统才会提供一个默认的构造器。

6、数据域的初始化方法:

  1. 在构造器中设置值。
  2. 在声明中赋值。
  3. 在初始化块中。在一个类的声明中,可以包含多个代码块,只要构造类的对象,这些块就会被执行。
public class Employee {
	
	public long id=1;
	
	{
		id=id++;		
	}
}

7、如果对类的静态域进行初始化的代码比较复杂,就可以使用静态的初始化块。在类第一次加载的时候,将会进行静态域的初始化(数值为0,布尔值为false,对象引用为null.

8、使用包的主要原因是确保类名唯一性,包嵌套的唯一目的是管理唯一的名字。

9、包的静态导入,不必加类名前缀。

10、类的设计技巧:

  1. 一定将数据设计为私有。
  2. 一定要对数据初始化。
  3. 不要在类中使用过多的基本数据类型。
  4. 不是所有的域都需要独立的域访问器和域更改其。
  5. 使用标准格式进行类的定义。(依次是:公有访问特性部分、包作用域访问特性部分、私有访问特性部分)
  6. 将职责过多的类进行分解。
  7. 类名和方法名要能够体现它们的职责。

11、数组-对数组实施插入和删除元素操作,效率比较低。涉及到后面的元素要向前进行平移

12、继承设计技巧

  1. 将公共操作和域放置在超类。
  2. 不要使用受保护的域。
  3. 使用继承实现“is-a”关系。
  4. 除非所有的继承方法都有意义,否则不要使用继承。
  5. 在覆盖方法的时候,不要改变预期的行为。
  6. 使用多态,而非类型信息。
  7. 不要过多的使用反射。

13、使用内部类的原因:

  1. 成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。
  2. 内部类可以对同一个包中的其他类隐藏起来。
  3. 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。
class Circle {
    private double radius = 0;
    public static int count =1;
    public Circle(double radius) {
        this.radius = radius;
    }     
    class Draw {     //内部类
        public void drawSahpe() {
            System.out.println(radius);  //外部类的private成员
            System.out.println(count);   //外部类的静态成员
        }
    }
}

不过要注意的是,当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类的同名成员,需要以下面的形式进行访问:

外部类.this.成员变量
外部类.this.成员方法

  1.  

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值