我的第一篇博客,献给黑马啦。(知识点:构造体,内部类访问权限)
2014-08-04 13:05
281 查看
这个时候,我看完了java基础知识,Java高新技术看到一半。现在才开始写博客,是因为我想给自己一个复习的机会。刚刚看完的知识点可能掌握了6成,但是一段时间后就所剩无几了。希望我这个用意不要成为我后期进度的累赘。(心里敲鼓,感觉悬)
我是从视频的第五天开始看的,一直到结束都不敢漏下什么知识点。因为我知道基础很重要!!!!
我学习的方法是老师讲到的综合性的,我自己有疑惑的,老师强调的知识点我都自己写一遍,但是我很不喜欢照抄。一般我理解过后就不看老师的自己写,确定自己是不是理解了这个知识点,如果遇到不会的再看一眼,这样我印象就会很深刻。所以我的代码跟老师的不太一样,但实现的目的的相同的。
/**
* 构造体的运行顺序
* @author Administrator
*
*/
public class text1 {
static
{
System.out.println("static");
}
public static void out(){
System.out.println("out");
}
//构造体在没有new的时候不会执行。
{
System.out.println("hh");
}
public static void main(String args[]){
//new text1();
text1.out();
}
}
感悟及思考:
静态代码块和构造代码块这玩意我以前从来没有接触过。还挺新鲜。
静态代码块在程序运行时执行,而且在构造代码块之前执行。这个可以用于程序执行第一时间写点说明啥的。
构造代码块只在new对象之前都会执行的代码,还是有用的。但是为什么不直接放在构造函数里面呢?我想应该是如果有不同的构造函数,而每个构造函数都要实现相同的代码,放在构造体里比较方便。
/**
* 内部类访问权限 static类的成员不会默认是static
* 内部类的成员其中一个是静态的,那么该内部类就必须定义为静态的。
* @author Administrator
*
*/
class Outer {
int num = 4;
static int num2 = 8;
class Inter{
public void function( ){
System.out.println("num"+num);
}
}
static class Inter2{
public void function( ){
System.out.println("Inter2" +num2);
}
static public void function2( ){
System.out.println("sta Inter2" + num2);
}
}
void method(){
new Inter().function();
Inter2.function2();
}
}
public class Text2 {
public static void main(String args[]){
new Outer().new Inter().function();
new Outer.Inter2().function();//访问静态类中的非静态成员函数
Outer.Inter2.function2();//访问静态类中的静态成员函数
}
}
思考与感悟:
为什么内部类含有静态成员,这个类就要被设成是静态类。我觉得是因为非静态的内部类可以访问外部类的静态与非静态成员。如果内部类的成员函数式静态的,它在调用外部类的非静态成员的时候就会报错,因为内部类中的静态函数没有给要访问的外部类的非静态的成员一个对象,而我们知道类的非静态成员必须由对象调用。
我是从视频的第五天开始看的,一直到结束都不敢漏下什么知识点。因为我知道基础很重要!!!!
我学习的方法是老师讲到的综合性的,我自己有疑惑的,老师强调的知识点我都自己写一遍,但是我很不喜欢照抄。一般我理解过后就不看老师的自己写,确定自己是不是理解了这个知识点,如果遇到不会的再看一眼,这样我印象就会很深刻。所以我的代码跟老师的不太一样,但实现的目的的相同的。
/**
* 构造体的运行顺序
* @author Administrator
*
*/
public class text1 {
static
{
System.out.println("static");
}
public static void out(){
System.out.println("out");
}
//构造体在没有new的时候不会执行。
{
System.out.println("hh");
}
public static void main(String args[]){
//new text1();
text1.out();
}
}
感悟及思考:
静态代码块和构造代码块这玩意我以前从来没有接触过。还挺新鲜。
静态代码块在程序运行时执行,而且在构造代码块之前执行。这个可以用于程序执行第一时间写点说明啥的。
构造代码块只在new对象之前都会执行的代码,还是有用的。但是为什么不直接放在构造函数里面呢?我想应该是如果有不同的构造函数,而每个构造函数都要实现相同的代码,放在构造体里比较方便。
/**
* 内部类访问权限 static类的成员不会默认是static
* 内部类的成员其中一个是静态的,那么该内部类就必须定义为静态的。
* @author Administrator
*
*/
class Outer {
int num = 4;
static int num2 = 8;
class Inter{
public void function( ){
System.out.println("num"+num);
}
}
static class Inter2{
public void function( ){
System.out.println("Inter2" +num2);
}
static public void function2( ){
System.out.println("sta Inter2" + num2);
}
}
void method(){
new Inter().function();
Inter2.function2();
}
}
public class Text2 {
public static void main(String args[]){
new Outer().new Inter().function();
new Outer.Inter2().function();//访问静态类中的非静态成员函数
Outer.Inter2.function2();//访问静态类中的静态成员函数
}
}
思考与感悟:
为什么内部类含有静态成员,这个类就要被设成是静态类。我觉得是因为非静态的内部类可以访问外部类的静态与非静态成员。如果内部类的成员函数式静态的,它在调用外部类的非静态成员的时候就会报错,因为内部类中的静态函数没有给要访问的外部类的非静态的成员一个对象,而我们知道类的非静态成员必须由对象调用。
相关文章推荐
- 《java中内部类在局部时,访问权限》
- 黑马---程序员 在外部类中,如何访问内部类中的静态成员呢? outer.inner.function();
- 内部类、访问权限课堂笔记
- 一代代码“撸清”内部类与外部类的访问权限关系
- django搭建个人博客08,添加访问权限
- java--访问控制和内部类 (权限修饰符)
- java小知识点--访问权限修饰符
- 关键字+静态+访问权限+内部类
- 第一篇博客献给开源社区
- 关于static 访问权限、继承、多态、内部类结合在一起时的使用方法
- 在我的上一篇博客 深入理解Java中为什么内部类可以访问外部类的成员
- 第一篇博客献给git
- [think in java] 知识点-访问权限控制
- 重温《JAVA编程思想》----2017.1.8 访问权限、多态以及一些知识点。
- 内部类的访问权限
- java异常、访问控制权限(java开发实战经典 知识点1)
- java中内部类的创建四种情况,三种方式,及内部数据访问权限
- 内部类的一些访问权限
- JAVA学习笔记之形式参数,权限访问和内部类问题
- JAVAEE第15天-static,final关键字,访问权限修饰符,内部类,静态代码块,包的声明和导入